Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 문제풀이
- 알고리즘
- 다단계 페이지 테이블
- 웹 프로그래밍
- spring
- 웹개발
- 운영체제
- CS
- 자바 알고리즘
- Inverted Page Table
- 코드스테이츠 백엔드 과정 39기
- 프로세스 불연속 할당
- 리눅스
- 프로세스 할당
- Segmentation with Paging
- springboot
- 자바 문제풀이
- linux
- Allocation of Physical Memory
- annotation
- 프로세스 동기화
- jpa
- 스프링
- Effective Access Time
- 메모리 관리
- 메모리의 불연속적 할당
- 2단계 Page Table
- Page Table의 구현
- Shared Page
- 스프링부트
Archives
- Today
- Total
GrowMe
[TIL] 디자인 패턴이란 본문
디자인패턴이란
# 디자인 패턴
# 원칙
# 패턴 분류
본 포스팅은, 공부 목적으로 다음 글을 참고하여 작성하였습니다.
---> https://gyoogle.dev/blog/design-pattern/Overview.html
[Design Pattern] 개요 | 👨🏻💻 Tech Interview
[Design Pattern] 개요 목적 SW 재사용성, 호환성, 유지 보수성을 보장. 특징 디자인 패턴은 아이디어임, 특정한 구현이 아님. 프로젝트에 항상 적용해야 하는 것은 아니지만, 추후 재사용, 호환, 유지
gyoogle.dev
*디자인패턴이란?

- 디자인 패턴은 아이디어이다. 즉, 특정한 구현이 아니라 추후 재사용, 호환, 유지 보수시 발생하는 문제 해결을 예방하기 위해 패턴을 만들어 둔 것이다.
- 애플리케이션의 재사용성, 호환성, 유지보수성을 최대한 높이기 위한 목적으로 사용된다.
*원칙 : SOLID (객체 지향 설계 원칙)
- Single Responsibility Principle
하나의 클래스는 하나의 역할만 해야 한다. - Open - Close Principle
확장 (상속)에는 열려있고, 수정에는 닫혀 있어야 한다. - Liskov Substitution Principle
자식이 부모의 자리에 항상 교체될 수 있어야 한다. - Interface Segregation Principle
인터페이스가 잘 분리되어서, 클래스가 꼭 필요한 인터페이스만 구현하도록 해야한다. - Dependency Inversion Property
상위 모듈이 하위 모듈에 의존하면 안된다.
둘 다 추상화에 의존하며, 추상화는 세부 사항에 의존하면 안된다.
*패턴 분류
1. 생성 패턴 (Creational) : 객체의 생성 방식 결정
Class-creational patterns, Object-creational patterns.
예) DBConnection을 관리하는 Instance를 하나만 만들 수 있도록 제한하여, 불필요한 연결을 막음.
2. 구조 패턴 (Structural) : 객체간의 관계를 조직
예) 2개의 인터페이스가 서로 호환이 되지 않을 때, 둘을 연결해주기 위해서 새로운 클래스를 만들어서 연결시킬 수 있도록 함.
3. 행위 패턴 (Behavioral): 객체의 행위를 조직, 관리, 연합
예) 하위 클래스에서 구현해야 하는 함수 및 알고리즘들을 미리 선언하여, 상속시 이를 필수로 구현하도록 함.
'CS(Computer science)' 카테고리의 다른 글
[운영체제] 프로세스 관리 (0) | 2022.12.12 |
---|---|
[운영체제] 프로세스 (0) | 2022.12.10 |
[운영체제] 컴퓨터 시스템과 프로그램 수행 (2) (0) | 2022.12.09 |
[운영체제] 컴퓨터 시스템과 프로그램 수행 (1) (0) | 2022.12.06 |
[운영체제] 운영체제란 무엇인가 (0) | 2022.11.17 |
Comments