Preguntas etiquetadas con object-oriented

Una metodología que permite modelar un sistema como un conjunto de objetos que pueden controlarse y manipularse de manera modular




3
Composición sobre herencia pero
Estoy tratando de enseñarme ingeniería de software y encontrar información contradictoria que me confunde. He estado aprendiendo OOP y qué son las clases / interfaces abstractas y cómo usarlas, pero luego estoy leyendo que uno debería 'favorecer la composición sobre la herencia'. Entiendo que la composición es cuando una clase …


2
En DDD, ¿un servicio de dominio es esencialmente solo un patrón de fachada y / o mediador?
En el diseño controlado por dominio, la capa de dominio puede tener varios servicios (tradicionales). Por ejemplo, para el dominio de Usuario, podemos tener: Una fábrica de usuarios, que construye objetos de usuario de diferentes maneras Un UserRepository, que es responsable de interactuar con los servicios de persistencia en la …


6
DDD cumple con OOP: ¿Cómo implementar un repositorio orientado a objetos?
Una implementación típica de un repositorio DDD no se ve muy OO, por ejemplo, un save()método: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Parte de infraestructura: package com.example.infrastructure; // imports... …

1
Usar clases de amigos para encapsular funciones de miembros privados en C ++: ¿buenas prácticas o abuso?
Entonces noté que es posible evitar poner funciones privadas en los encabezados haciendo algo como esto: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == 5; // or …

4
estructura con valor predeterminado sin sentido
En mi sistema que con frecuencia operan con códigos de aeropuertos ( "YYZ", "LAX", "SFO", etc.), que siempre están en el mismo formato exacto (de 3 letras, representada en mayúsculas). El sistema generalmente maneja entre 25 y 50 de estos (diferentes) códigos por solicitud de API, con más de mil …





6
¿Cómo evitar el downcasting?
Mi pregunta es sobre un caso especial de la súper clase Animal. Mi Animallata moveForward()y eat(). Sealse extiende Animal. Dogse extiende Animal. Y hay una criatura especial que también se extiende Animalllamada Human. Humanimplementa también un método speak()(no implementado por Animal). En una implementación de un método abstracto que acepta, …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.