Free Lines Arrow
본문 바로가기
728x90

전체 글380

[Design Pattern] Builder Pattern Builder Pattern 프로퍼티 즉 변수가 많을 경우 명확하게 값을 넣어 생성하게 해준다. 왜 써야 할까? 만약 변수가 100개 200개 정도 된다면 실수없이 데이터를 넣을수 있을까? 빌더 패턴을 쓰면 명확하게 값을 넣을수 있고 값이 없는 경우 default 값을 줄수도 있겠다. 하지만 비용이 들기 때문에 변수가 최소 4개 이상일때 효과적이다. Builder Pattern 예제 학생 클래스가 있다고 해보자 만약 변수가 100개 정도 된다면? 생성자에 값을 직접 넣거나 setter로 넣으면 복잡해지고 보기도 어렵다. Student Class package patterns.builder; public class Student { private String name; private int age; pri.. 2021. 11. 24.
[Design Pattern] Prototype Pattern Prototype Pattern 인스턴스를 복사하여 새로운 객체를 만드는 패턴이다. 인스턴스 생산 비용이 높을때 사용한다. 클래스로부터 인스턴스 생성이 어려울때 사용한다. 복사 붙여넣기 기능을 생각하면 이해하기 쉬울것 같다. Prototype Pattern 구조 Prototype Pattern 구현 Shap class Cloneable 은 기본적으로 제공되는 인터페이스이다. package patterns.prototype; public class Shape implements Cloneable { private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } } Circle class.. 2021. 11. 24.
[Design Pattern] Singleton Pattern Singleton Pattern 우리가장 많이 듣고 접하는 패턴 중에 하나이다. 싱글턴 패턴은 요청의 숫자와 관계없이 한번 만들어둔 객체를 사용하게 된다. 안티패턴이라고 불린다. 이유는 다음과 같다. - 싱글톤을 위한 코드가 필요하다. - private 변수에 new 를 사용하기 떄문에 상속이 힘들다. - 클라이언트가 반드시 구체클래스를 의존해야 된다(getInstance 함수 사용) - Singleton은 이미 설정이 정해져 있다. Singleton Pattern 구조 Singleton Pattern 구현 Singleton class package patterns.singleton; public class Singleton { static private Singleton singleton = null;.. 2021. 11. 24.
[Design Pattern] Factory Method Pattern Factory Method Pattern 객체를 생성을 전담하는 클래스를 만든다. 객체생성을 따로 함으로써 유연성을 가진다. 장점 OCP 를 지킬수 있다. - OCP 를 지킬수 있는 이유는 객체를 생성할때 new를 쓰게 되는데 요구사항이 바뀌거나 수정으 해야 하면 손이 많이 가게 된다. 즉 수정이 많아진다. - 하지만 기존 코드를 수정하지 않고 새로운 유형들 추가할수 있다. - new 는 팩토리메서드가 전담하기 떄문이다. Factory Method 구조 Creator: 추상 클래스 - 추상클래스로 만든이유는 확장성 때문이다. ConcreteCreator: Creator 를 구현한 구현체 - 실제 factoryMethod 를 통해 Product 를 생성해낸다. Product: 생성될 아이템의 Intrefa.. 2021. 11. 24.
728x90
반응형