specifications 0.0.2 copy "specifications: ^0.0.2" to clipboard
specifications: ^0.0.2 copied to clipboard

outdated

Specifications é um padrão de design de software específico, por meio do qual as regras de negócios podem ser recombinadas encadeando as regras de negócios usando a lógica booleana

Specifications #

Na programação de computadores, o padrão de Specifications é um padrão de design de software específico, por meio do qual as regras de negócios podem ser recombinadas encadeando as regras de negócios usando a lógica booleana. O padrão é freqüentemente usado no contexto de design orientado a domínio. (DDD)

Getting Started #

import 'package:specifications/src/specification.dart'; import 'package:flutter_test/flutter_test.dart';

void main() { setUp(() {});

group('AppController Test', () { test("is satisfied", () { expect( ContainerPodeLevarCargaResfriadaSpec( Containers(1, "Container yyy", 3)) .isSatisfiedBy(Cargas(1, "teste", 6)), true); });

test("is not satisfied", () {
  expect(
      (ContainerPodeLevarCargaResfriadaSpec(
                  Containers(1, "Container yyy", 6)) &
              ContainerPodeLevarCargaCapacidadeMaiorQue5Spec(
                  Containers(1, "casa", 6)))
          .isSatisfiedBy(Cargas(1, "teste", 3)),
      false);
});

}); }

class ContainerPodeLevarCargaResfriadaSpec extends CompositeSpecification

ContainerPodeLevarCargaResfriadaSpec(Containers container) { this.container = container; }

@override bool isSatisfiedBy(Cargas carga) { return container.capacidadeTemperaturaMinima <= carga.temperaturaDeConservacao; } }

class ContainerPodeLevarCargaCapacidadeMaiorQue5Spec extends CompositeSpecification

ContainerPodeLevarCargaCapacidadeMaiorQue5Spec(Containers container) { this.container = container; }

@override bool isSatisfiedBy(Cargas carga) { return container.capacidadeTemperaturaMinima > 5; } }

class Cargas { final int id; final String name; final int temperaturaDeConservacao;

Cargas(this.id, this.name, this.temperaturaDeConservacao); }

class Containers { final int id; final String name; final int capacidadeTemperaturaMinima;

Containers(this.id, this.name, this.capacidadeTemperaturaMinima); }

Link de Apoio: https://martinfowler.com/apsupp/spec.pdf

2
likes
0
pub points
0%
popularity

Publisher

unverified uploader

Specifications é um padrão de design de software específico, por meio do qual as regras de negócios podem ser recombinadas encadeando as regras de negócios usando a lógica booleana

Homepage

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on specifications