-
-
파이썬 디자인 패턴 2/e - 디자인 패턴을 사용해 소프트웨어 설계 문제 해결하기 ㅣ 에이콘 소프트웨어 아키텍처 시리즈
체탄 기리다 지음, 이우현 옮김 / 에이콘출판 / 2018년 11월
평점 :
이 책은 파이썬으로 디자인 패턴을 설명한다. 디자인 패턴은 생성, 구조, 행위로 분류한다. 객체가 생성되는 과정과 클래스와 객체의 구조 그리고 각 객체 간의 상호작용에 따라 분류된다.
디자인 패턴을 알기 위해서는 객체지향 프로그래밍을 알아야 하고 객체와 클래스, 메소드의 개념을 알아야 한다. 객체(Object)는 프로그램 내의 개체(Entity)를 나타낸다. 클래스(Class)는 속성과 행동을 포함하는 객체를 정의한다. 메소드(Method)는 객체의 행동을 나타내며 속성을 조작하고 태스크를 수행한다. 객체지향 프로그래밍(OOP)의 주요기능에는 캡슐화(Encapsulation), 다형성(Polymorphism), 상속(Inheritance), 추상화(Abstraction), 구성(Composition) 등이 있다.
객체지향 디자인의 기본 원칙으로는 개방-패쇄 원칙(Open/Close Principle), 인터페이스 분리 원칙(Interface Segregation Principle), 제어 역전 원칙(Inversion of Control Principle), 단일 책임 원칙(Single Responsibility Principle) 등이 있다.
개방-패쇄 원칙이란 클래스와 객체, 메소드 모두 확장에는 개방적이고 변경에는 폐쇄적이어야 한다는 원칙이다. 인터페이스 분리 원칙이란 클라이언트는 인터페이스 이외에 불필요한 의존이 없어야 한다는 원칙이다. 제어 역전 원칙이란 상위 모듈은 하위 모듈에 의존적이지 않아야 하고 세부 구현이 추상화에 의존애햐 한다는 원칙이다. 단일 책임 원칙이란 클래스는 하나의 책임만을 가져야 한다는 원칙이다.