티스토리 뷰

반응형

1. SRP (The Single Responsibility Principle)

:단일 책임 원칙

-> 하나의 클래스는 하나의 책임만 가져야 한다.


2. ISP (The Interface Segregation Principle)

:인터페이스 분리 원칙

-> 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다.

'하나의 일반적인 인터페이스 보다는 여러 개의 구체적인 인터페이스가 낫다'


3. DIP (The Dependency Inversion Principle)

:의존관계 역전의 원칙

-> 추상 클래스는 파생 클래스를 참조해서는 안된다.

의존의 대상은 추상클래스나 인터페이스만 되어야한다.

추상클래스도 파생클래스도 추상크래스에만 의존해야한다.


4. LSP (The Liskov Substitution Principle)

:리스코프 치환의 원칙

-> 서브타입은 언제나 기반 타입으로 교체할 수 있어야 한다.

서브 타입은 언제나 기반 타입과 호환될 수 있어야 한다.

자식 타입들은 부모 타입들이 사용되는 곳에 대체될 수 있어야한다.


5. OCP (The Open-Closed Principle)

:개방-폐쇄의 원칙

-> 확장에는 열려있고, 변경에는 닫혀있어야 한다.

라이브러리를 만든 개발자가 변경을 하면,

라이브러리를 제공받는 개발자 또한 변경이 발생한다.

"A는 B이다"가 아니라 "A에게는 B가 있다" 관계를 가져야 한다.

연꽃같은 코드...


정작 저는 지키지 못하고 있습니다.

늘 현실과 타협하고 자기합리화를 하고 있습니다.

난 아직 너무 부족해...ㅠㅠ

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함