320x100
320x100

SOLID

- SRP (Single Responsibility Principle)

 : 단일 책임의 원칙

 : 클래스 (혹은 모듈, 함수 등)는 하나의 기능만 제공해야 한다

 : 여러 기능이 하나의 클래스에 구현 되어있으면 고치기 어렵기 때문

 

 

- OCP (Open / Closed Principle)

 : 개방 폐쇄의 원칙

 : 기존의 코드를 변경하지 않고 기능을 수정하거나 추가할수 있도록 설계해야 한다

 : 자주 변경되는 내용은 수정하기 쉽게 설계하고 변경되지 않아야 하는것은 영향을 받지 않아야 함

 

 

- LSP (Liskov's Subsstitution Principle)

 : 리스코프 치환 원칙

 : 자식 클래스는 부모 클래스에서 가능한 행위를 수행할 수 있어야 한다

 : 자식 클래스와 부모 클래스 간의 일관성이 있어야 함

 

 

- ISP (Intferface Segregation Principle)

 : 인터페이스 분리 원칙

 : 한 클래스는 자신이 사용하지 않는 인터페이스를 포함하지 않아야 한다

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

 : 소프트웨어 내의 각 기능은 독립된 인터페이스로 작동해야 하며, 서로에게 영향을 끼치지 않아야 한다

 

 

- DIP (Dependency Inversion Principle)

 : 의존 관계를 맺을때 변화하기 쉬운 것 보다 어려운 것에 의존해야 한다

 : 구체화된 클래스보다 인터페이스나 추상클래스에 의존하는 것을 권장

 : 의존성 주입

 

 

 

 

 

KISS (Keep It Simple Stupid / Keep It Short and Simple / Keep It Small and Simple) 

- 소프트웨어의 설계와 코딩에 있어 되도록 간단하고 단순하게 만들라

 : 소스코드나 설계 내용이 불필요하게 장황하거나 복잡해지는 것을 경계하라 

 

 

 

YAGNI (You Ain't Gonna Need It)

- 필요한 작업만 하라

 : 현재 사용하지 않는 기능을 확장성을 고려해서 미리 작업하지 마라 

 : 설계나 환경이 변경되었을때 수정해야하는 코드의 양이 늘어나기 때문

 : 당장에 필요한 작업에 집중하고 쓸데없는 작업은 하지 마라

 

 

 

DRY (Do not Repeat Yourself)

- 소스코드에서 동일한 코드가 반복되게 하지말라 

 

 

 

 

 

 

 

Refference

 

SOLID 원칙

프로그래밍 설계를 하다보면 객체지향 5대원칙 또는 SOLID 원칙이란 단어를 들어본 적이 있을 것이다. 당시에 구글링을 하여 찾아보았지만 프로그래밍 내공이 부족하여 잘 이해가 되지 않았다.

dev-momo.tistory.com

 

소프트웨어 개발 3대 원칙 : KISS, YAGNI, DRY

소프트웨어와 관련된 책을 읽다 보면 자주 언급되는 원칙들이 있다. 좀 더 품질 좋은 소스 코드를 작성하기...

blog.naver.com

 

 

OOP SW개발의 원칙들 : SOLID(+ DRY, KISS, YAGNI)

코드를 작성하다 보니, 원칙 없이 작성된 코드는 재사용되기 어려울 것 같다는 생각에 코드 작성 원칙에 대해서 천천히 알아보고자 합니다. 또한 코드 작성 원칙에 대해서 신경쓰면서 코딩을 하

d33p.tistory.com

 

300x250
728x90