[OOP] Dependency Inversion Principle
DIP(Dependency Inversion Principle)는 의존관계역전의 원칙이다. A라는 객체가 B라는 객체를 포함하고 있는 경우, B가 A객체를 호출해야 하는 일이 필요할 수 있다. 즉, 하이 레벨 모듈이 로우 레벨 모듈을 의존하는 구조, 추상이 상세를 의존하는 구조적 디자인, 이런 경우 의존관계연전 이라고 하게 된다. 이를 해결하기 위해서는 단순 컨크리트 클래스를 참조하기 보다는 참조하는 것을 추상화시켜서 참조하는 것이 좋다. 즉, 인터페이스에 의존해야한다. 이유는 자주 변경되는 컨크리트 클래스보다 추상클래스, 인터페이스가 의존을 느슨하게 하기 때문이다.
Paradigm/OOP
2013. 10. 29. 20:59
[OOP] 객제지향, 디자인 원리
객체지향 원리변하는 것을 캡슐화하라구현에 의존하기 보다는 인터페이스에 의존하도록 코딩하라각 클래스는 변경 요인이 오직 하나이어야한다.클래스는 행동과 기능에 관한 것이다. 디자인 원리 (SOLID) Single Responsibility Principle (SRP) 단일책임의 원리로 모든 객체는 하나의 책임을 가진다. Open Closed Principle (OCP) 수정에는 닫혀있고, 확장에는 열려있다. Liskov Substitution Principle (LSP) 자식 타입들은 부모타입들이 사용되는 곳에 대체될 수 있어야한다. 상속보다는 위임, 구성, 집합을 사용하면 소프트웨어는 더 유연하고, 유지보 수성, 확장성, 재사용성이 좋아진다. Interface segregation principle (IS..
Paradigm/OOP
2013. 9. 27. 17:41
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday