Padrões não são blocos de construção - portanto, não devo criar um aplicativo em padrões MVC / MVP?


9

Eu li esta página sobre padrões de design e como você deve tratá-los ao escrever seu código. Pelo meu entendimento, como o título no link declara:

Padrões não são blocos de construção.

Se entendi corretamente, isso significa não usar um padrão de design até que faça sentido fazê-lo, correto? Não comece dizendo que você usará o Padrão de Estratégia, espere até escrever algum código e, se usar o Padrão de Estratégia faz sentido para o seu design, use-o.

Trato o padrão MCV / MVP da mesma maneira quando crio aplicativos GUI? A partir dos respectivos links, diz que é um padrão arquitetural.

Suponha que, se eu criar um aplicativo GUI e não usar o padrão MCV / MVP, mas meu código for limpo, legível e sustentável, ainda é um cheiro de código / design ruim que eu não usei o padrão MCV / MVP ?

Respostas:


18

Se entendi corretamente, isso significa não usar um padrão de design até que faça sentido fazê-lo, correto?

Sim.

Não comece dizendo que você usará o Padrão de Estratégia, espere até escrever algum código e, se usar o Padrão de Estratégia faz sentido para o seu design, use-o.

Sim. Tecnicamente, você pode perceber que o padrão de estratégia é apropriado antes mesmo de escrever qualquer código, mas isso deve ser porque você estava pensando no problema real e projetando uma solução para esse problema, que eu assumo ser o que você quis dizer.

Trato o padrão MCV / MVP da mesma maneira quando crio aplicativos GUI? A partir dos respectivos links, diz que é um padrão arquitetural.

Sim, MVC / MVP / etc são padrões de arquitetura. Em certo sentido, isso não faz diferença, porque você ainda deve usar o MVC / MVP / etc quando fizerem sentido; quando for um ajuste razoável para o problema real que você está tentando resolver. O que faz diferença é que, porque se aplica em um nível muito mais alto do que, digamos, o padrão de estratégia, você normalmente descobre se faz sentido ou não e decide se vai usá-lo como parte de seu trabalho de design, antes de escrever muito código.

Lembre-se também de que "MVC / MVP" não é um padrão único, mas uma família muito grande de padrões relacionados, e não há consenso sobre o que exatamente conta como "MVC" ou "MVP" ou "MVVM" ou o resto do sopa de letrinhas associada.

Suponha que, se eu criar um aplicativo GUI e não usar o padrão MCV / MVP, mas meu código for limpo, legível e sustentável, ainda é um cheiro de código / design ruim que eu não usei o padrão MCV / MVP ?

De maneira alguma, porque o MVC / MVP / etc não é adequado para todos os aplicativos da GUI. Por exemplo, algumas GUIs podem ser tão simples que seriam um exagero completo, ou algumas GUIs podem não ter nenhum estado persistente para inserir um "modelo" etc. Há boas razões para que essa família de padrões seja tão popular, mas elas não são as únicas maneiras de escrever um bom software GUI.

Além disso, um "cheiro de código" geralmente significa algo sobre um trecho de código específico que pode ser um sintoma de um problema maior. Se todo o seu código for "limpo, legível e sustentável", sem exceções, quase por definição você não terá odores de código (exceto talvez alguns odores de código "falso positivo" que não indiquem problemas reais) )

Então, para responder ao título da sua pergunta: "Como tratar o padrão MVC / MVP?", Eu diria: Leia sobre por que esses padrões são tão populares, ou seja, quais problemas eles estão tentando resolver, para que no futuro você pode dizer se seu último problema pode ser resolvido por esses padrões.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.