Preguntas etiquetadas con single-responsibility

El Principio de Responsabilidad Única establece que cada módulo en un sistema debe ser responsable de una característica o funcionalidad única, o una agregación de funcionalidad cohesiva. Otra forma común de decirlo es decir que cada módulo debe tener una sola razón para cambiar.








7
¿Estoy haciendo mis clases demasiado granulares? ¿Cómo debe aplicarse el principio de responsabilidad única?
Escribo mucho código que implica tres pasos básicos. Obtenga datos de alguna parte. Transforma esos datos. Ponga esos datos en alguna parte. Normalmente termino usando tres tipos de clases, inspirados por sus respectivos patrones de diseño. Fábricas: para construir un objeto a partir de algún recurso. Mediadores: para usar la …

3
¿Es una mala práctica que una definición de objeto API contenga Id de referencia de terceros como propiedades?
Me gusta esto: Campaign: type: object properties: id: type: string description: "A GUID identifier" referenceId: type: string description: "A consumers identifier they have used to map their own systems logic to this object." name: type: string description: "'Great Campaign 2017' as an example" Estoy preocupado por la referenciaId . El …



7
Separación de preocupaciones: ¿Cuándo es la separación "demasiado"?
Realmente amo el código limpio y siempre quiero codificar mi código de la mejor manera posible. Pero siempre había una cosa que realmente no entendía: ¿Cuándo es demasiado de "separación de preocupaciones" con respecto a los métodos? Digamos que tenemos el siguiente método: def get_last_appearance_of_keyword(file, keyword): with open(file, 'r') as …


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); …


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.