Si entiendo correctamente, esto significa no usar un patrón de diseño hasta que tenga sentido hacerlo, ¿correcto?
Si.
No comience diciendo que va a usar el Patrón de estrategia, espere hasta que escriba algún código, y si usar el Patrón de estrategia tiene sentido para su diseño, entonces úselo.
Si. Técnicamente, puede darse cuenta de que el patrón de estrategia es apropiado incluso antes de escribir cualquier código, pero eso debería ser porque estaba pensando en el problema real y diseñando una solución para ese problema, lo que supongo es lo que quiso decir.
¿Trato el patrón MCV / MVP de la misma manera cuando creo aplicaciones GUI? Desde los enlaces respectivos, dice que es un patrón arquitectónico.
Sí, MVC / MVP / etc. son patrones arquitectónicos. En cierto sentido, eso no hace la diferencia porque todavía solo debes usar MVC / MVP / etc cuando tengan sentido; cuando es un ajuste razonable para el problema real que estás tratando de resolver. Lo que sí hace una diferencia es que, debido a que se aplica a un nivel mucho más alto que, por ejemplo, el patrón de la Estrategia, generalmente descubrirá si tiene sentido o no y decidirá si lo va a usar como parte de su trabajo de diseño, antes de escribir mucho código.
También tenga en cuenta que "MVC / MVP" no es un solo patrón, sino una gran familia de patrones relacionados, y no hay consenso sobre lo que cuenta exactamente como "MVC" o "MVP" o "MVVM" o el resto del sopa de letras asociada.
Supongamos que si creo una aplicación GUI y no uso el patrón MCV / MVP, pero mi código es limpio, legible y mantenible, ¿sigue siendo un diseño de mal olor / código que no utilicé el patrón MCV / MVP? ?
En absoluto, porque MVC / MVP / etc. no son adecuados para todas las aplicaciones GUI. Por ejemplo, algunas GUI podrían ser tan simples que sería una exageración total, o algunas GUI podrían no tener un estado persistente para poner en un "modelo", etc. Hay buenas razones por las que esa familia de patrones es tan popular, pero No son las únicas formas de escribir un buen software GUI.
Además, un "olor a código" generalmente significa algo sobre un fragmento de código específico que podría ser un síntoma de un problema mayor. Si todo su código es "limpio, legible y mantenible", sin excepciones, entonces, casi por definición, no tiene olores de código (excepto tal vez algunos olores de código "falso positivo" que no indican ningún problema real )
Entonces, para responder el título de su pregunta: "¿Cómo tratar el patrón MVC / MVP?", Yo diría: Lea sobre por qué esos patrones son tan populares, es decir, qué problemas están tratando de resolver, para que en el futuro puede saber si su último problema podría resolverse mediante esos patrones.