디자인패턴 ✔
-> 개발 과정에서 비슷한 유형을 패턴으로 정리한 것
-> 디자인 패턴 사용 이유는 코드 형태가 비슷하면 유지보수나, 협업에도 도움이 되고, 검증된 구조임
-> 목적에 따라 생성패턴, 구조패턴, 행동패턴으로 나뉘어짐
생성 패턴
-> 객체의 생성에 관련된 패턴으로 객체의 생성절차를 추상화하는 패턴
-> 종류 : 추상팩토리, 빌더, 팩토리 메소드, 프로토타입, 싱글톤 패턴 등이 있다.
싱글톤 패턴 이란? 인스턴스를 오직 1개만 생성하는 패턴이다.
ex) 스프링에선 스프링 Core가 빈 컨테이너에서 싱글톤 객체를 관리 해준다.
ex) 스레드 풀에선 DB 연결에 필요한 커넥션을 미리 만들어놓고 재사용하는데 이 또한 싱글톤 패턴이다.
팩토리 메소드 패턴 이란? 객체를 직접 생성하지 않고, 객체를 생성하는 (factory 역할) 클래스를 따로 만들어 사용
-> 객체를 직접 생성하지 않아서, 결합도가 낮아짐
구조 패턴
-> 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
> 종류 : 어댑터, 브리지, 프록시 패턴 등이 있다.
어댑터 패턴 이란? 어댑터를 사용하여 호환되지 않는 인터페이스를 호환되도록 하는 패턴
행위 패턴
-> 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴
-> 종류 : 템플릿 메소드, 책임 연쇄, 인터프리터 등이 있다.
템플릿 메소드 패턴 이란? 상속을 통해 부모클래스의 기능을 확장하는 패턴
-> 자바에선 공통화 된 기능은 정의하고 세부 기능을 추상메소드로 만든 다음 (즉 부모클래스를 추상클래스로 만든다음), 서브클래스에서 세부 기능을 구현(오버라이딩)하게끔 하는 패턴
'개발 관련 부가 지식 > 기타' 카테고리의 다른 글
Java Stack 구현 (0) | 2023.02.21 |
---|---|
스프링 부트 동일 Apllication 여러 포트로 구동 with (인텔리제이) (0) | 2023.02.02 |
웹 url 동작 과정, 쿠키와 세션, Rest api (0) | 2023.01.21 |
자료구조 기초 정리 (0) | 2023.01.18 |
데이터베이스 기초 용어 정리 (0) | 2023.01.18 |