Preguntas etiquetadas con object-oriented-design

El diseño orientado a objetos es el proceso de planificar un sistema de objetos interactivos con el fin de resolver un problema de software.

1
¿Cuándo usar rasgos, en lugar de herencia y composición?
Hay tres formas comunes, AFAIK, de implementar la reutilización cuando se trata de OOP Herencia: generalmente para representar es una relación (un pato es un pájaro) Composición: generalmente para representar una relación tiene (un automóvil tiene un motor) Rasgos (por ejemplo, la palabra clave rasgo en PHP): ... no estoy …






4
¿Es la interfaz de la lista una abstracción con fugas?
Si tengo una variable que contiene un List, podría contener objetos de muchos tipos diferentes, por ejemplo, ArrayListo LinkedList. La diferencia entre a LinkedListy an ArrayListes bastante grande. El gran comportamiento O de los métodos difiere mucho. Por ejemplo, ordenar el Listy luego usarlo para hacer búsquedas binarias está perfectamente …


2
Cómo evitar ... clases de ayudante o ... gerente
Tengo bastantes clases de ayudantes en mi proyecto. He leído que esto es algo malo, pero sospecho que "Helper" es el sufijo incorrecto para ellos. Daré un ejemplo. Primero, tengo una Userclase. Necesito un método GetSuggestedFriends()para un usuario. Quiero mantener la lógica para determinar la lista de amigos sugeridos fuera …



8
¿Violación del principio de responsabilidad única?
Recientemente tuve un debate con otro desarrollador sobre la siguiente clase: public class GroupBillingPayment { public void Save(IGroupBillingPayment model) { if (model == null || UserInfo.UserID == 0) { throw new Exception("GroupBillingPayment object or Current User Id is NULL , Please Contact Administrator."); } Data.GroupBillingPayment groupBillingPayment = RepositoryManager.GroupBillingPaymentRepository.GetById(model.GroupBillingPaymentID); Mapper.Map(model, groupBillingPayment); …

4
¿Cómo puedo administrar la base de código de software significativamente complejo?
A menudo creo programas tanto para mí como para otros usando varios lenguajes de programación orientados a objetos. Al hacerlo, generalmente son relativamente pequeños (unos pocos miles de líneas como máximo). Recientemente, sin embargo, he estado intentando hacer proyectos más grandes, como motores de juegos completos. Al hacerlo, a menudo …


4
¿Viola algún principio de OOP si una función miembro no usa ninguna de las propiedades de clase / variables miembro?
Tengo una clase existente que interactúa y que puede abrir, leer o escribir en un archivo. Necesito recuperar una modificación de archivo para ese propósito. Tengo que agregar un nuevo método. Supongamos que lo siguiente es mi definición de clase donde quiero agregar un nuevo método. class IO_file { std::string …

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.