SEARCH
You are in browse mode. You must login to use MEMORY

   Log in to start

level: Nivel TODO DE UNA

Questions and Answers List

level questions: Nivel TODO DE UNA

QuestionAnswer
FACTORIA ABSTRACTAProposito: proporciona interfaz para crear familia de objetos relacionados o que dependen entre si, sin especificar clases concretas Motivación: si queremos tener interfaz de usuario independiente de los objetos concretos que la componen. Si aplicacion crea instancias de clases de la interfaz de usuario seria difícil cambiarla mas tarde. Lo aplicamos cuando: - Sistema deba ser independiente de como se crean, componen y representan sus productos - Sistema debe ser configurado con familia de productos de entre varias - Familia de objetos producto relacionados esta diseñada para ser usada en cjto obligatoriamente, al ser requisito - Quiere proporcionar biblioteca de clases de productos y solo quiere revelar sus interfaces sin sus implementaciones. Ventajas: - Aisla clases concretas de clientes - Facilita intercambio de familias de productos - Promueve la consistencia entre productos Inconvenientes: - Dibifil dar cabida a nuevos tipos de productos pues habría que modificar la factoría
SINGLETONProposito: garantiza que solo hay una instancia de una clase, proporcionando un único punto de acceso a ella. Esta instancia se puede redefinir mediante herencia. Ventajas: - Acceso controlado a unica instancia - Espacio de nombres reducido - Permite refinamiento de operaciones y la representación - Permite numero variable de instancias - Mas flexible que operaciones static Inconvenientes: - Dista mucho de ser evidente
OBSERVADORProposito: define dependencia de uno a muchos objetos, de forma que cuando un objeto cambie de estado se notifique y se actualicen automáticamente todos los objetos que dependen de el. Motivación: si se divide un sistema en una colección de clases cooperantes se deben mantener la consistencia entre estados relacionados. Esta consistencia no debe pagarse con un fuerte acoplamiento. Lo aplicamos cuando: - Una abstracción tiene dos aspectos y uno depende del otro - Cuando un cambio en un objeto requiere cambiar otros y no sabe cuantos objetos necesitan cambiarse - Cuando un objeto debería ser capaz de notificar a otros sin hacer suposiciones sobre quienes son dichos objetos. Ventajas: - Permite modificar objetos y observadores independientemente - Acoplamiento abstracto entre sujeto y observador - Capacidad de comunicación mediante difusión Inconvenientes: - Actualizaciones inesperadas - Protocolo de actualización simple Las vistas son una especia de observadores del modelo , controlador maneja vistas con update(int evento, Object obj) y actualiza a una única vista cada vez. Controlador especie de observador de vistas.