디자인패턴
-
[디자인패턴] SOLID 원칙디자인패턴 2020. 12. 12. 20:33
SOLID 원칙 로버트 마틴이 명명한 객체지향 프로그래밍 및 설계 기본 5대 원칙 1. SRP (Single Responsibility principle; 단일 책임 원칙) 1) 정의 : 한 클래스는 하나의 책임만 가져야 한다. 2) 설명 로버트 마틴은 'Responsibility(책임)'을 '변경하려는 이유'로 정의 → 한 클래스는 변경하려는 단 하나 이유만을 가져야 한다. ex) 보고서를 편집하고 출력하는 모듈 이 모듈은 두 가지 이유로 변경될 수 있다. 첫 번째로 보고서의 내용 때문에 변경될 수 있다. 두 번째로 보고서의 형식 때문에 변경될 수 있다. 이 두가지 변경은 하나는 실질적이고 다른 하나는 꾸미기 위한 매우 다른 원인에 기인한다. → SRP에 의하면 이 문제의 두 측면이 실제로 분리된 두 ..
-
DI (Dependency Injection) : 의존성 주입디자인패턴 2020. 12. 5. 23:51
1. 의존성 (Dependency) class Americano {...} class Programmer { private Americano americano; public Programmer() { this.americano = new Americano(); } public startProgramming() { this.americano.drink(); ... } } 1) Programmer 클래스는 Americano 클래스에 의존성을 가지고 있다. 새로운 Coffee 를 마시고 싶다면, Americano 클래스의 내용을 바꾸거나 새로운 클래스를 생성해서 작업해야 한다. class Americano implements Coffee {...} class Cappuccino implements Coffee..