Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bridge Pattern #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions DesignPattern.NET/Bridge/BridgePattern.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
![title](Images/title.png)

> 위임을 통해 기능 클래스와 구현 클래스 역할 분리하기

## Context

대부분의 객체 지향 프로그래밍에서 특정한 개념(클래스, 인터페이스 등)에 대한 계층(상속/구현)을
제공합니다. 이를 지원하는 목적으로는 확장/구현 두가지 개념으로 나뉩니다.

### 확장 계층

어떤 소프트웨어에서든지 기존 기능을 좀 더 확장하여 사용하기 위해 `BaseClass`를 상속받아
`ExtendClass`를 만듭니다. 또한 이것을 더 확장하며 `BetterExtendClass`를 만들기도합니다.
이를 **확장 계층** 혹은 **기능의 클래스 계층**이라 부릅니다.

- BaseClass
- ExtendClass
- BetterExtendClass


### 구현 계층

Template Method 패턴이라던지 혹은 인터페이스를 구현하는 것을 통해서 원하는 기능 셋을
만들고 실제 상위 인터페이스/추상 클래스는 이런 것들을 사용하기위한 API 역할을 합니다.
또한 이것을 통해서 기존 코드의 변경이 없이 소프트웨어의 추가적인 확장/변경 가능성을 제공했습니다.
이를 통칭 **구현 계층** 혹은 **구현의 클래스 계층**이라 부릅니다.

- AbtractClass/Interface
- ConcreteClass
- ImplementClass

## Problem

## Solution

## Summery
Binary file added DesignPattern.NET/Bridge/Images/title.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.