
옵저버 패턴(observer pattern) 주체(Subject, 관찰자)가 옵저버 또는 리스너(listener)라 불리는 하나 이상의 객체를 관찰 대상이 되는 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 디자인 패턴이다. 발행/구독 모델로 알려져있기도 하다. 이 옵저버 패턴을 활용한 서비스로는 대표적으로 트위터가 있다. 면접을 위한 CS 전공 지식 노트 예제에서는 topic(주체 ≒ 객체)을 기반으로 옵저버 패턴을 구현한 예제가 나와있다. /* 면접을 위한 cs 전공 지식 노트 예제 4. Observer pattern 하나 이상의 객체를 관찰 대상이 되는 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들..

전략 패턴(strategy pattern) ≒ 정책 패턴(policy pattern) 전략이라고 부르는 '캡슐화'한 알고리즘을 선택할 수 있게 하는 소프트웨어 디자인 패턴이다. 면접을 위한 cs 전공 지식 노트 예제에서는 이커머스 사이트에서 결제를 할 때 다양한 방법을 선택할 수 있듯이, 예제에서 제품을 결제 방법의 '전략' (결제수단?)만 바꿔서 LUNACard로 사는 것과 KAKAOCard로 사는 것을 구연한 예시를 보여줬다. /* 면접을 위한 cs 전공 지식 노트 예제 3.전략 패턴(strategy pattern) 객체의 행위를 바꾸고 싶은 경우 '직접'수정하지 않고 '캡슐화한 알고리즘'을 선택할 수 있도록하는 소프트 웨어 디자인 패턴이다. */ import java.text.DecimalForma..

팩토리 패턴 (factory pattern) 객체를 사용하는 코드에서 객체 생성 부분을 따로 떼어내어 추상화한 패턴이자, 상속관계에 있는 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 대한 구체적인 내용을 결정하는 패턴이다. 상위 클래스와 하위 클래스가 분리되어 많은 유연성을 갖게 되고, 유지 보수성이 좋다. 면접을 위한 cs 전공 지식 노트 예제에서는 하위 클래스를 바리스타 공장으로, 상위 클래스를 레시피로 정의하여 예시를 보여주었다. /* 면접을 위한 cs 전공 지식 노트 예제 2. Factory pattern 상위 클래스인 객체 생성 부분을 추상화하고, 하위 클래스에서 객체 생성에 대한 구체적인 내용을 결정하는 패턴이다. 상위 클래스와 하위 클래스가 분리되어 많은 유연성을 갖게..

오늘의 일기 "장고 튜토리얼을 공부할 때 MVC 패턴에 대해서 짧게 배웠는데, 이게 뭘 어떻게 한다는 건지 대충 넘어갔었.... 다.... 그래도 다시 공부하는 겸.. 꼼꼼히 살펴봐야겠다...🙄" 프로그램을 설계할 때 발생하는 문제를 객체 간의 상호관계 등을 이용하여 해결할 수 있도록 형식화된 규약?이라고한다. 싱글톤 패턴 (singleton pattern)부터 MVVM 패턴까지 10가지의 패턴들이 있다. 싱글톤 패턴 (singleton pattern) 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴, 데이터 베이스 연결 모듈에 많이 사용된다. (데이터베이스 연결 모듈이라고 하니까 확 와닿았다. 감을 잡..았달까나..?) → Django에서 데이터베이스 연결 예시 DATABASES = ..
- Total
- Today
- Yesterday
- 디자인 패턴
- Django tutorial
- error: failed to push some refs to 'https://github.com/
- 웹페이지
- Python
- django
- 암호화
- 환경 변수 설정
- python3
- 회원가입
- 배열
- path variable
- git공부
- Java
- django.contrib.auth
- Magazine K
- 커맨드 객체
- django-environ
- authenticate()
- git
- 한글 형태소 분석기
- Spring
- 혼자 공부하는 파이썬
- API
- 톰캣
- musma
- 면접을 위한 CS 전공 지식 노트
- git 공부
- 회원 로그인
- 검색 결과 내 페이지네이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |