개발 공부/아키텍처 5

SOLID 원칙을 알아보자 5 : 의존성 역전 원칙 - kotlin

SOLID 원칙이란? Single Responsibility Principle → 단일 책임 원칙 Open-Closed Principle → 개방-폐쇄 원칙 Liskov Substitution Principle → 리스코프 치환 원칙 Interface Segregation Principle → 인터페이스 분리 원칙 Dependency Inversion Principle → 의존성 역전 원칙 Dependency Inversion Principle 의존성 역전 원칙 높은 수준의 코드(모듈)는 낮은 수준의 코드(모듈) 구현에 의존해서는 안된다. 낮은 수준의 모듈보다 높은 수준의 모듈에 의존해야한다. 높은 수준의 모듈은 인터페이스, 추상 클래스라고 생각하면 되고, 낮은 수준의 모듈은 구현된 객체라고 생각하면 된..

SOLID 원칙을 알아보자 4 : 인터페이스 분리 원칙 - kotlin

SOLID 원칙이란? Single Responsibility Principle → 단일 책임 원칙 Open-Closed Principle → 개방-폐쇄 원칙 Liskov Substitution Principle → 리스코프 치환 원칙 Interface Segregation Principle → 인터페이스 분리 원칙 Dependency Inversion Principle → 의존성 역전 원칙 Interface Segregation Principle 인터페이스 분리 원칙 각 모듈은 자신이 사용하지 않는 것에 의존하면 안 된다. 즉, 자신이 사용하는 메서드에만 의존해야 한다. 인터페이스 분리 원칙 위반 예시 위의 그림을 보면 지렁이와 강아지가 동물을 상속 받고 있습니다. 모든 메서드를 상속받다보니 지렁이는 짖..

SOLID 원칙을 알아보자 3 : 리스코프 치환 원칙 - kotlin

SOLID 원칙이란? Single Responsibility Principle → 단일 책임 원칙 Open-Closed Principle → 개방-폐쇄 원칙 Liskov Substitution Principle → 리스코프 치환 원칙 Interface Segregation Principle → 인터페이스 분리 원칙 Dependency Inversion Principle → 의존성 역전 원칙 Liskov Substitution Principle 리스코프 치환 원칙 서브 타입이 상위 타입을 변경 없이 치환할 수 있어야하며, 치환해도 정상적으로 동작해야한다. [예제 코드] open class Rectangle { open var width = 0 open var height = 0 fun getArea() :..

SOLID 원칙을 알아보자 2 : 개방-폐쇄 원칙 - kotlin

SOLID 원칙이란? Single Responsibility Principle → 단일 책임 원칙 Open-Closed Principle → 개방-폐쇄 원칙 Liskov Substitution Principle → 리스코프 치환 원칙 Interface Segregation Principle → 인터페이스 분리 원칙 Dependency Inversion Principle → 의존성 역전 원칙 Open-Closed Principle 개방-폐쇄 원칙 소프트웨어 개체는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다 열려 있다(Open) - 새로운 기능을 추가 할 수 있으며, 추가 시 큰 힘을 들이지 않고 추가 닫혀 있다(Close) - 수정에 대해서는 폐쇄적이여야함 - 코드를 수정해도 이를 ..

SOLID 원칙을 알아보자 1 : 단일 책임 원칙 - kotlin

SOLID 원칙이란? Single Responsibility Principle → 단일 책임 원칙 Open-Closed Principle → 개방-폐쇄 원칙 Liskov Substitution Principle → 리스코프 치환 원칙 Interface Segregation Principle → 인터페이스 분리 원칙 Dependency Inversion Principle → 의존성 역전 원칙 Single Responsibility Principle 단일 책임 원칙 어떤 클래스나 모듈은 변경하는 이유가 한 가지여야만 한다 - Robert C. Martin 클래스나 모듈이 하나의 책임만을 가지고 있어야 한다는 것이다. 클래스나 모듈이 여러가지 작업을 한다면, 강하게 결합되어 있는 클래스나 모듈이 많이질 것이고..