Consigo dimensionar com êxito todos os meus aplicativos antigos que não estavam usando Padrões de Design documentados. Qualquer que seja o padrão, não sei. Em grande parte, senti apenas a necessidade de usar conceitos simples de POO.
O conceito Design Patterns é complexo e difícil de entender. Quando implementado, como determinar se a implementação está correta e o aplicativo possui um acoplamento frouxo real?
design-patterns
RPK
fonte
fonte
Respostas:
Para manter a resposta concisa, eu diria que se as seguintes características são visíveis no seu código, você pode ter certeza de que os padrões estão em vigor, mesmo que você não tenha feito esforços deliberados (o que não é um problema) para isso.
Características desejadas:
Se você ainda está curioso para identificar e marcar seu código com os nomes dos padrões reais, recomendo que você execute as seguintes ações para fazer a bola rolar.
Isso deve lhe dar uma idéia justa.
fonte
Você menciona os padrões de design e o acoplamento. Estes são conceitos separados, por isso vou lidar com eles separadamente. A única conexão real é que os padrões de design tendem a promover acoplamentos frouxos (já que esse é um aspecto importante do bom design).
Padrões de design
O conceito de Design Patterns é bastante simples: eles são apenas um conjunto de modelos de como lidar com vários problemas comuns. Existem 2 razões principais pelas quais eles são populares:
Como você sabe que o implementou corretamente? Essa é complicada. Para a maioria dos padrões, é simples - você grocou ou não. Alguns padrões são menos claramente definidos que outros - por exemplo, model-view-controller . Padrões como esse são melhor usados como diretrizes gerais. As especificidades de como você o implementa são menos importantes do que entender as razões pelas quais o padrão existe e o que ele pretende realizar.
Os padrões de design não são "o único caminho verdadeiro". Frequentemente, você precisará adaptá-los para seus propósitos específicos ou, às vezes, não haverá padrões que atendam aos requisitos. Forçar um padrão de design onde ele não se encaixa é uma má idéia; é como usar um martelo muito bom quando o que você realmente quer é uma chave de fenda.
Acoplamento
Esta é uma ideia realmente importante em ciência da computação. Como os requisitos para a maioria dos projetos de software mudam com o tempo (às vezes significativamente), é importante a capacidade de um design para lidar com as mudanças. O acoplamento é basicamente a medida de "quão difícil seria trocar esse componente por outro?" O 'componente' pode ser um método, classe, pacote, biblioteca etc.
Existem vários tipos de acoplamento listados neste artigo da Wikipedia .
fonte
A resposta é realmente o objetivo que você deseja escrever padrões de design desde o início. Por que você deseja flexibilidade?
Isso é mudança; mudança de requisitos. Tente alterar algo em seus requisitos que reflita na alteração do código e veja como é fácil / difícil fazer isso.
fonte
O uso de padrões de design é uma ação preventiva. Você usa padrões de design para facilitar seu trabalho ao dimensionar o aplicativo posteriormente. Obviamente, para facilitar seu trabalho mais tarde, você deve fazer um pouco mais de trabalho agora. então a verdadeira questão é quanta mudança você pode esperar no futuro e qual é essa mudança. Se você não precisar de escalabilidade e flexibilidade, poderá acabar com os padrões de design.
Os próprios padrões de design são uma implementação dos Princípios de Design Orientado a Objetos. Contanto que você siga esses princípios, seus aplicativos serão flexíveis e escaláveis; mesmo se você realmente não tiver um padrão de design real. Como Joachim Sauer comentou acima, são soluções comuns para problemas comuns.
fonte