디자인 패턴의 아름다움

9 posts

CHAPTER 8 행동 디자인 패턴 PART1

CHAPTER 8 행동 디자인 패턴 PART1 생성 디자인 패턴 : 주로 객체의 생성에 관련된 문제 해결 구조 디자인 패턴 : 주로 클래스나 객체의 결합 문제를 해결 행동 디자인 패턴 : 주로 클래스나 객체의 상호작용 문제를 해결 8.1 옵서버 패턴 8.1.1 옵서버 패턴의 정의 발행 구독 패턴이라고도 한다 많은 객체들

2 min read

CHAPTER 7 구조 디자인 패턴_PART_1

CHAPTER 7 구조 디자인 패턴 PART 2 7.3.4 래퍼 패턴 프록시 패턴 데커레이터 패턴 어뎁터 패턴 코드 구조 측면에서 이 세가지 디자인 패턴을 통틀어 래퍼 패턴으로 구분 원본 클래스를 래퍼 클래스를 통해 두 번 캡슐화하는 패턴 7.4 브리지 패턴 상속 대신 합성을 사용 복잡한 상속 관계를 간단한 합성 관계로

4 min read

CHAPTER 7 구조 디자인 패턴_PART_1

CHAPTER 7 구조 디자인 패턴 PART 1 프록시 패턴 : 원본기술가 연관 없는 기능을 추가할 때 사용 데커레이터 패턴: 원본 클래스와 관련 있거나 향산된 기능을 추가할 때 사용 어댑터 패턴: 코드 호환성 문제 해결 브리지 패턴 : 합성의 폭발문제를 해결하는 데 사용 퍼사드 패턴 : 인터페이스 설계에 사용 복합체 패

5 min read

CHAPTER 6 생성 디자인 패턴

CHAPTER 6 생성 디자인 패턴 6.1 싱글턴 패턴 (1) 6.1.1 싱글턴 패턴의 정의 어떤 클래스의 객체 또는 인스턴스를 단 하나만 생성할 수 있다면, 해당 클래스는 싱글턴 클래스이며, 이 디자인 패턴을 싱글턴 패턴이라고 한다 클레스안에 시스템에 한 번만 저장되어야 하는 데이터가 포함된 경우 해당 클래스는 싱글턴

8 min read

CHAPTER 5 리팩터링 기법

CHAPTER 5 리팩터링 기법 5.1 리팩터링의 네 가지 요소: 목적, 대상, 시기, 방법 5.1.1 리팩터링의 목적 코드에 대한 이해를 쉽게 하기 위해 소프트웨어의 내부 구조를 개선하는 것으로 소프트웨어의 외부 동작을 변경하지 않고 수정 비용을 줄이는 것을 목적으로 한다 고품질 코드는 훌륭한 설계 한 번에 나오는 것이

7 min read

CHAPTER 4 코딩 규칙

CHAPTER 4 코딩 규칙 4.1 명명과 주석 명명은 코드 가독성에 큰 영향을 미치며 프로그래머의 기본 능력과 소양을 반영 하기도 한다 4.1.1 긴 이름과 짧은 이름 긴 이름 : 가급적 이름이 그 의미를 자세하기 표현하기 원함 그래야 한눈에 설계 의도를 파악할수 있기 때문 짧은 이름 : 코드가 간결하다 명명시 일반적인

10 min read

CHAPTER 3 설계 원칙

CHAPTER 3 설계 원칙 3.1 단일 책임 원칙 3.1.1 단일 책임 원칙의 정의 및 해석 단일 책임 원칙(single responsibility principle, SRP)은 클래스와 모듈은 하나의 책임 또는 기능만을 가지고 있어야 된다 주의할 점은 단일 책임 원칙이 설명하는 대상에는 클래스와 모듈이라는 두가지 종류

18 min read

CHAPTER 2 객체지향 프로그래밍 패러다임

CHAPTER 2 객체지향 프로그래밍 패러다임 객체지향 프로그래밍은 현 시점에 가장 대중적인 프로그래밍 패턴이다 2.1 객체지향이란 무엇인가? 2.1.1 객체지향 프로그래밍과 객체지향 프로그래밍 언어 객체지향 프로그래밍이란? 프로그래밍 패러다임 또는 프로그래밍 스타일을 의미한다 코드를 구성하는 기본 단위로 클래스 와 객체

12 min read

CHAPTER 1 개요

CHAPTER 1 개요 1.1 코드 설계를 배우는 이유 코드 설계에 대한 지식은 확장성과 가독성이 높아 유지 보수가 용이한 고품질 코드를 작성할때 필요하다 1.1.1 고품질의 코드 작성 속도와 확장성을 맹목적으로 추구하는 현재의 개발 환경에서 안타깝게도 대다수의 소프트웨어 엔지니어는 고품질의 코드를 작성하는 방법에 대한

10 min read