Articles of patrones de diseño

Patrón Singleton

¿Cuándo deberíamos usar el patrón de Singleton y por qué?

¿Por qué Java permite boost la visibilidad de los métodos protegidos en la clase infantil?

abstract class Base{ protected abstract void a(); } class Child extends Base{ @Override public void a(){ //why is this valid } } ¿Por qué no podemos reducir la visibilidad pero podemos boostla? También necesito implementar el patrón de Plantilla en el que los métodos públicos visibles solo pueden ser de clase base. Ejemplo: abstract class […]

clase de amigos con acceso limitado

Quiero hacer una clase Clase de clase A de clase B. Quiero hacer esto ya que estos interactúan mucho y A necesita cambiar las partes internas de la clase B (que no quiero exponer con el público). Pero quiero asegurarme de que solo tiene acceso a algunas funciones seleccionadas, no a todas las funciones. Ejemplo: […]

¿Cuál es la diferencia entre un patrón de Singleton y una clase estática en Java?

¿Cómo se diferencia un singleton de una clase con solo campos estáticos?

campaña anti-si

Hace poco me encontré con un sitio muy interesante que expresa una idea muy interesante: la campaña anti-si. Puedes ver esto aquí en www.antiifcampaign.com . Tengo que aceptar que las declaraciones IF anidadas complejas son un dolor absoluto en la retaguardia. Actualmente estoy en un proyecto que hasta hace muy poco tenía algunas locas anidadas […]

MVC (modelo-vista-controlador) – ¿puede explicarse en términos simples?

Tengo que explicarle a un gerente no muy técnico el concepto MVC (modelo-vista-controlador) y me encontré con problemas. El problema es que la explicación debe estar en el nivel “tu abuela lo conseguirá”; por ejemplo, incluso la explicación bastante sencilla que se ofrece en la página Wiki de MVC no funcionó, al menos con mis […]

¿Cuál es el punto del método accept () en el patrón Visitor?

Se habla mucho sobre desacoplamiento de los algoritmos de las clases. Pero, una cosa queda a un lado no explicada. Usan visitantes como este abstract class Expr { public T accept(Visitor visitor) {visitor.visit(this);} } class ExprVisitor extends Visitor{ public Integer visit(Num num) { return num.value; } public Integer visit(Sum sum) { return sum.getLeft().accept(this) + sum.getRight().accept(this); […]

¿Cuándo debería usar el patrón singleton en lugar de una clase estática?

Asigne un nombre a las consideraciones de diseño al decidir entre el uso de una clase única frente a una estática. Al hacer esto, te ves forzado a contrastar los dos, así que cualquier contraste que puedas encontrar también es útil para mostrar tu proceso de pensamiento. Además, a todos los entrevistadores les gusta ver […]

Lógica empresarial en MVC

Tengo 2 preguntas: Q1. ¿Dónde exactamente se encuentra la “lógica comercial” en el patrón MVC? Estoy confundido entre Modelo y Controlador. Q2. ¿La “lógica comercial” es lo mismo que “reglas comerciales”? Sí no, ¿Cuál es la diferencia? Sería genial si pudieras explicar con un pequeño ejemplo.

Diferencia entre el patrón de visitante y el doble despacho

Estoy leyendo sobre el patrón de visitante, y parece lo mismo que Double Dispatch. Hay alguna diferencia entre los dos. ¿Los dos términos significan lo mismo? referencia: http://www.vincehuston.org/dp/visitor.html