디자인 패턴 2

[디자인 패턴] SOLID 원칙

SOLID는 다섯 가지 원칙에 대한 약자이다. 단일 책임 원칙 Single Responsiblity Principle (SRP) 한 클래스 하나의 책임(기능). 한 클래스에 여러 가지 기능들이 쏠리게 되면 내부 코드를 수정할 때 다른 코드들도 함께 영향을 받을 확률이 높아진다. 즉, 결합도가 올라가게 되어 유지보수가 어려워진다. 그렇기 때문에 책임 단위로 캡슐화시켜 코드의 응집도는 높이고 결합도는 낮추어야한다. 개방-폐쇄 원칙 Open Closed Principle (OCP) 수정에는 닫혀있고, 확장에는 열려있고. 이를 위해서는 어떤 부분이 바뀌는(update) 부분인지를 먼저 찾아야한다. 바뀌는 부분은 따로 뽑아서 캡슐화시킨다. 그렇게 하면 시스템의 유연성이 높아져, 해당 코드를 수정 혹은 확장하더라도..

디자인 패턴 2020.11.20

[디자인 패턴] 빌더 패턴(Builder Pattern)

Creational Design Pattern 중 하나이다. Head First Design Pattern의 예시를 통해 살펴보면 Vacation 인스턴스를 만드는데 client 1은 호텔, 점심, 렌트카 client 2는 호텔 client 3는 호텔, 저녁, 렌트카, 전망대 를 요청했다고 가정하면 Vacation 클래스는 client 모두의 요청을 포괄해야하기 때문에 각 client들의 요청을 인스턴스화하기 위해서는 client 1을 위한 Vacation(호텔 h, 점심 l, 렌트카 c) client 2을 위한 Vacation(호텔 h) client 3을 위한 Vacation(호텔 h, 저녁 d, 렌트카 c, 전망대 v) 이렇게 3개의 다른 생성자를 만들어주거나, 모든 변수를 포괄하는 생성자 하나를 만..

디자인 패턴 2020.11.14