일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- csrf_token
- 디자인패턴
- 웹프로그래밍
- css
- Linux
- 디자인 패턴
- java
- 프론트엔드
- 파이토치
- 백엔드
- 개발환경
- MySQL
- vscode
- html
- javascript
- 리눅스
- 데이터베이스
- DB
- python
- pyvenv.cfg
- 인공지능
- 웹서버
- Design Pattern
- 파이썬
- 프로그래밍
- django-debug-toolbar
- AI
- Django
- 오류
- pytorch
- Today
- Total
목록디자인 패턴 (7)
Shong Studio의 정보 창고

Abstract Factory제품의 군을 생성하기 위한 인터페이스 여러 Product Interface들의 조합을 하나의 kit로 이용될 수 있다면 Factory interface에 한 곳에 정의하여 각각의 Product를 Create하는 Concrete Factory(제품군)을 정의할 수 있다. 위 그림의 4번째 문장이 단점이 되겠습니다.생각을 해보면 Factory에서 생성하는 제품들의 기능이 추가되어야 할 때 Interface로 하나의 create abstract function이 생성될텐데 그러면 해당 Factory를 상속받고 있는 모든 제품들이 전부 수정되어야합니다. ( 비용 증가) 그래서 우리는 무조건 Abstract Factory Pattern을 이용하면 안되고, 만들고자 하는 Factory의..

Bridge Pattern 이란? 브릿지 패턴(Bridge Pattern)은 구조적 디자인 패턴의 일종으로, 추상화(abstraction)와 구현(implementation)을 분리하여 서로 독립적으로 변형할 수 있도록 해줍니다. 이 패턴의 목적은 구현 부분에 대한 변경이 추상화에 영향을 미치지 않도록 하여, 두 부분을 독립적으로 확장할 수 있게 하는 것입니다. 브릿지 패턴은 종종 인터페이스와 구현을 분리하여 각각을 독립적으로 개발하고 확장할 수 있도록 할 때 사용됩니다. Bridge Pattern을 사용해야하는 이유는? 플랫폼 독립적인 구조를 만들고 싶을 때: 여러 플랫폼에서 실행될 수 있는 소프트웨어를 개발할 때, 브릿지 패턴을 사용하여 플랫폼에 의존적인 코드를 분리할 수 있습니다. 구현을 변경하..

Adapter Pattern(어댑터 패턴)이란? 디자인 패턴 중 서로 다른 인터페이스를 가진 클래스들이 함께 작동할 수 있도록 해주는 구조적 디자인 패턴인 "어댑터 패턴"을 알아보도록 하겠습니다. Adapter 패턴을 콘센트와 플러그로 비유해 적용해보면 이해가 더 쉬울 것 같습니다. 콘센트와 220V 플러그, 110V 플러그를 생각해 볼 수 있습니다. 콘센트 = Client( 220V를 사용하는 대한민국 고객 ) 110v 플러그 = Adaptee 220v 플러그 = Target Interface 110v - 220v 어댑터 = Adapter Adapter Pattern을 사용해야하는 이유는? Adapter 패턴은 하나의 클래스의 인터페이스를 클라이언트에서 기대하는 다른 인터페이스로 변환합니다. 어댑터..

Iterator Pattern(반복자 패턴)이란? Iterator를 사용하여 컨테이너를 가로지르며 컨테이너의 요소들에 접근하는 디자인 패턴 이터레이터 패턴을 사용하면 집합체(list, hashtable, vector 등) 내에서 어떤 식으로 일이 처리되는지 몰라도 그 안에 들어있는 항목들에 대해서 반복작업을 수행 할 수 있다. Java에서는 Iterator기능을 라이브러리로 제공해주고 있다. 그래서 은연중 여러분은 Iterator를 사용하고 있었을 수 있습니다. Iterator Pattern을 사용해야하는 이유는? 집합체 내에 있는 Data들이 다른 방식으로 출력해야한다면 코드의 일관성을 떨어트리고 규모가 커지거나 복잡해지면 비용 증가로 이어질 수 있습니다. Iterator Pattern을 어떻게 사용하..

안녕하세요, Shong Studio입니다. 디자인 패턴 중에서 객체의 상태 변화에 따라 객체의 행동이 바뀌어야 할 때 유용하게 사용할 수 있는 "State Pattern"에 대해 살펴보겠습니다. State Pattern 이란? State Pattern은 객체의 내부 상태가 변경될 때마다 객체의 행동도 함께 변경되도록 하는 행위 디자인 패턴입니다. 즉, 객체의 상태를 나타내는 클래스 집합과 그 상태에 따른 행동을 캡슐화하는 방식으로, 객체의 상태 변화에 따라 동일한 작업을 다른 방식으로 처리할 수 있게 합니다. 이 패턴을 통해 복잡한 조건 분기 없이 상태에 따른 행동의 변화를 구현할 수 있습니다. State Pattern을 사용해야 하는 이유는? 코드의 유지보수성 향상: 상태에 따른 행동이 명확하게 분..
안녕하세요 Shong Studio입니다. 디자인 패턴 중 Behavior(행동) Interface를 만들어서 상속관계에 있는 클래스들의 복잡도를 전략적으로 줄여주는 "Strategy Pattern"에 대해서 알아보도록 하겠습니다. Strategy Pattern 이란? 전략 패턴를 직관적으로 정의하자면, 추상클래스 내에 정의된 Behavior(행동) function을 다양한 Behavior(행동) 을 케어해주기 위해서 Behavior(행동) Interface를 만들어서 확장성있는 구조를 만드는 디자인 패턴입니다. Strategy Pattern을 사용해야하는 이유는? 교체 가능한 행동: Strategy Pattern을 사용하면 구체적인 행동들을 클래스로 캡슐화하여, 이를 실행 시점에 교체할 수 있습니다...

안녕하세요 Shong Studio입니다. 디자인 패턴 중 "구독 & 알림" 개념의 느낌을 갖고있는 "Observer Pattern"에 대해서 알아보도록 하겠습니다. Observer Pattern 이란? 옵서버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다. 주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용된다. 발행/구독 모델로 알려져 있기도 하다. Observer Pattern을 사용해야하는 이유는? Publisher가 되는 특정 객체가 갖고 있는 값의 변화에 따라 다른 객체(Observer)를 호출해서 처리해야하는 상황..