Preguntas etiquetadas con object-oriented

86
¿Es difícil la POO porque no es natural?

A menudo se puede escuchar que OOP corresponde naturalmente a la forma en que las personas piensan sobre el mundo. Pero estaría totalmente en desacuerdo con esta afirmación: nosotros (o al menos yo) conceptualizamos el mundo en términos de relaciones entre las cosas que encontramos, pero el enfoque...

85
¿Cómo evitas getters y setters?

Me está costando mucho diseñar las clases de una manera u otra. He leído que los objetos exponen su comportamiento, no sus datos; por lo tanto, en lugar de usar getter / setters para modificar datos, los métodos de una clase dada deberían ser "verbos" o acciones que operen en el objeto. Por...

68
¿Cuál es el uso adecuado de la abatición?

Downcasting significa transmitir desde una clase base (o interfaz) a una subclase o clase hoja. Un ejemplo de abatido podría ser si realiza un envío desde System.Objectotro tipo. Downcasting es impopular, tal vez un olor a código: la doctrina orientada a objetos es preferible, por ejemplo,...

64
¿No puedo usar todos los métodos estáticos?

¿Cuál es la diferencia entre los dos métodos UpdateSubject a continuación? Sentí que usar métodos estáticos es mejor si solo quieres operar en las entidades. ¿En qué situaciones debo ir con métodos no estáticos? public class Subject { public int Id {get; set;} public string Name { get; set; }...

64
Aclarar el principio de responsabilidad única

El Principio de Responsabilidad Única establece que una clase debe hacer una y solo una cosa. Algunos casos son bastante claros. Otros, sin embargo, son difíciles porque lo que parece "una cosa" cuando se ve en un nivel dado de abstracción puede ser varias cosas cuando se ve en un nivel inferior....

62
¿No es MVC anti OOP?

La idea principal detrás de OOP es unificar los datos y el comportamiento en una sola entidad: el objeto. En la programación de procedimientos hay datos y algoritmos por separado que modifican los datos. En el patrón Modelo-Vista-Controlador, los datos y la lógica / algoritmos se colocan en...