2014/08/08 17:10

객체지향 설계 원칙,, SOLID JAVA



SOLID

SRP
the Single Responsibility Principle
-- A class should have one, and only one, reason to change.
단일 책임 원칙
-- 하나의 클래스에 대한 변경 이유가 하나 이상이어서는 안된다.
즉, 한 클래스가 하나 이상의 책임을 맡고 있으면 다른 클래스로 분리해야 한다. (리펙터링 필요)

OCP
the Open Closed Principle
-- You should be able to extend a classes behavior, without modifying it.
개방-폐쇄원칙
-- 소프트웨어 개체는 확장에 열려 있어야 하고, 변경에는 닫혀 있어야 한다.
즉, 변하지 않는 것과 변하는 것을 분리해라. (다형성과 추상화.._)

LSP
the Liskov Substitution Priciple
-- Derived class must be substitutable for their base classes.
리스코프 대체 원칙
-- 기반 클래스에 대한 참조를 사용하는 함수는, 그것을 알 필요 없이 하위 클래스 객체를 사용할 수 있어야 한다.
즉, 상위 타입으로 변수를 선언해서 사용하라.

ISP
the Interface Segregation Principle
-- Depend on abstractions, not on concretions.
인터페이스 분리 원칙
-- 클라이언트는 사용하지 않는 인터페이스에 의존하도록 강요되어서는 안된다.
죽, 클라이언트 유형별로 범주화 하여 인터페이스를 생성해야 한다.

DIP
the Depedency Inversion Principle
-- Make fine grained interfaces that are client specific.
의존 역전 원칙
-- 상위 수준 모듈은 하위 수준 모듈에 의존하면 안된다. 그 둘다 추상 모듈에 의존해야 한다.
: 모든 원칙은 독립적이지 않고 서로 연관되어 있다.. 


------

겁나 어렵구만... 줴길... 
셈플 소스가 있으면 좀더 이해가 편할텐데.. 쩝.. 

덧글

댓글 입력 영역