Pular para o conteúdo principal

Postagens

Mostrando postagens de dezembro, 2024

Design Pattern Pub-Sub em C#

Agora que já vimos para que servem os Design Patterns, vamos entender como resolver aquele problema descrito no post anterior. Para resolver esse problema se definiu uma forma padronizada de criar objetos inspirado no caso de uso do "Observador" ou "Anunciante versus Inscritos". O Publisher vs Subscriber ou Pub-Sub é um padrão de projeto comportamental que permite que você defina um mecanismo de assinatura para notificar múltiplos objetos sobre quaisquer eventos que aconteçam com o objeto que eles estão observando. Na imagem acima temos uma atividade sendo executada enquanto outras atividades observam sua apresentação e aguardam a vez delas de executarem também. Temos nesse cenário uma regra de negócio resolvivel pelo padrão Pub-Sub. Na imagem abaixo é demonstrado o problema inicial na forma de um diagrama de atividades adaptado para o padrão Pub-Sub, da forma que o sistema realmente deve funcionar. Tem-se a Atividade 1 sendo executada e uma ramificação com diversas...

Para que Servem os Design Patterns?

Design Patterns ou Padrões de Projeto são sugestões de modelagem de classes (utilizando o Paradigma de Orientação a Objetos) que visam resolver problemas comuns do Paradigma de Programação Estruturado. Na programação estruturada é comum termos uma situação em que após a execução de um comando que retorna um valor colocar-se um if para verificar a validade do valor retornado. Em seguida, executa-se algumas chamadas de função não inerentes ao fluxo das regras de negócio principal, mas necessárias para o fluxo de regras de negócio secundárias. Regras, estas, relacionadas ao valor gerado pela execução de comando inicial. Vejamos o fluxograma abaixo para entender melhor. O fluxo principal do negócio seria: Cadastrar novo produto, Atender os clientes, Efetuar a venda, e por último Entregar o produto vendido ao cliente. Todas as lojas tem como objetivo principal vender produtos, para faturar, e obter lucro. Como ilustrado no diagrama de atividades abaixo. Observe que existe uma grande diferen...