패턴

김지원·2023년 7월 14일
0

https://www.youtube.com/playlist?list=PL93mKxaRDidEhEcufGexy99nAWGesLBch

https://inpa.tistory.com/category/%EB%94%94%EC%9E%90%EC%9D%B8%20%ED%8C%A8%ED%84%B4/GOF

점층적 생성자 패턴

필수 매개변수와 함께 선택 매개변수를 0개, 1개, 2개 .. 받는 형태
(생성자 오버로딩)

자바 빈(Java Beans) 패턴

매개변수가 없거나 필수 매개변수만 있는 생성자로 객체 생성후
Setter로 넣는 패턴

전략패턴

추상적인거를 상속받아서 구체적인걸

OCP(확장에는 개방적, 수정에는 폐쇄적)적용
DIP(구체적인거 말고 추상적인거에 의존하라)적용
https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%EC%A0%84%EB%9E%B5Strategy-%ED%8C%A8%ED%84%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%B0%B0%EC%9B%8C%EB%B3%B4%EC%9E%90

프록시 패턴

원본 객체를 대리하여 대신 처리하게 함으로써 로직의 흐름을 제어하는 행동 패턴이다.

어댑터 패턴

호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들을 함께 작동해주도록 변환
https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%EC%96%B4%EB%8C%91%ED%84%B0Adaptor-%ED%8C%A8%ED%84%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%B0%B0%EC%9B%8C%EB%B3%B4%EC%9E%90

싱글톤패턴

Singleton pattern

https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%EC%8B%B1%EA%B8%80%ED%86%A4Singleton-%ED%8C%A8%ED%84%B4-%EA%BC%BC%EA%BC%BC%ED%95%98%EA%B2%8C-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90

싱글톤 패턴이란 단 하나의 유일한 객체를 만들기 위한 코드 패턴이다.
쉽게 말하자면 메모리 절약을 위해, 인스턴스가 필요할 때 똑같은 인스턴스를 새로 만들지 않고 기존의 인스턴스를 가져와 활용하는 기법을 말한다.

public class PlayerService implements Service {
    private PlayerDAO dao;

    private PlayerService(Connection connection) { 
    // 클래스 본인을 만드는 생성자, private라서 다른 곳에서는 사용못함
        dao = new PlayerDAO(connection);
    }

    private static PlayerService instance;
    // 클래스 본인 객체 필드

    public static PlayerService getInstance(Connection con){
    // 이거만 public이라 이걸로만 생성 가능
        if (instance == null) {
            instance = new PlayerService(con);
        }
        return instance;
    }
 .......(메서드).......
 }

템플릿 메서드 패턴

데코레이터 패턴

https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%EB%8D%B0%EC%BD%94%EB%A0%88%EC%9D%B4%ED%84%B0Decorator-%ED%8C%A8%ED%84%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%B0%B0%EC%9B%8C%EB%B3%B4%EC%9E%90

정적 팩토리 메서드 패턴

https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%EC%A0%95%EC%A0%81-%ED%8C%A9%ED%86%A0%EB%A6%AC-%EB%A9%94%EC%84%9C%EB%93%9C-%EC%83%9D%EC%84%B1%EC%9E%90-%EB%8C%80%EC%8B%A0-%EC%82%AC%EC%9A%A9%ED%95%98%EC%9E%90

빌더패턴

Builder Pattern

https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%EB%B9%8C%EB%8D%94Builder-%ED%8C%A8%ED%84%B4-%EB%81%9D%ED%8C%90%EC%99%95-%EC%A0%95%EB%A6%AC

https://mangkyu.tistory.com/163

profile
https://github.com/k7850

0개의 댓글