A는이 같은 내가 볼 매우 일반적인 패턴 (내가이 질문의 순간에 그것을 다루는에만 있기 때문에, 젠드 프레임 워크에 따기있어)입니다 Zend_Form은 추상 클래스가 아니지만 완벽하게 사용할 수 있습니다. 이것은 멋진 클래스로 폼을 "캡슐화"하는 장소로 "권장"되는 것으로 보입니다. Liskov 대체 원칙을 위반합니까? Zend_Form의 각 하위 클래스는
System.ICloneable 인터페이스를 상속하지만 Clone() 메서드의 returntype이 T 인 일반 인터페이스를 만들려고합니다. 물론 T- 유형에는 제약 조건이 필요합니다. 그것은 System.Object 클래스의 상속이지만 다음 코드는 작동하지 않습니다. public interface ICloneable<T> : System.ICloneabl
로버트 마틴의 솔리드 설계 원리를 처음으로 빨리 지키려고 노력하고 있습니다. 본질적으로 "노드"개체의 계층 구조가 필요합니다. 일부 노드는 NodeHost이고 일부는 NodeChildren이고 일부는 Both입니다. 모두가 전에이 일을 끝낼,하지만 난 SOLID없이 수행하는 방법을 알아낼 수 없습니다 지나치게 복잡한 설계를하거나 노드 하위 유형에서이 같은