디자인패턴

public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } } Person이라는 객체가 외부 API(검증된)라고 생각해 보자 그 기능의 일부를 내가 만든 시스템에서 재정의한 이름(메서드)으로 사용하려고 한다 인..
public class Singleton { private static final Singleton getInstance = new Singleton(); public static Singleton getInstance(){ return getInstance; } private Singleton() {} } public class Main { public static void main(String[] args) { Singleton singleton1 = Singleton.getInstance(); Singleton singleton2 = Singleton.getInstance(); if(singleton1 == singleton2){ System.out.println("같음"); } else{ Syst..
제품을 추상화 한 Product 인터페이스 public interface Product { void use(); } 제품 중 하나인 IDCard 클래스 public class IDCard implements Product{ private final String owner; public IDCard(String owner) { this.owner = owner; } @Override public void use() { System.out.println(owner + "님의 카드를 사용합니다."); } } Factory 인터페이스 public interface Factory { Product createProduct(String name); } 구체적인 객체를 생성해주는 IDCardFactory public..
구조를 가지고 있는 큰 것을 구축한다 복잡한 구조를 가지는 것을 한번에 완성하는 것은 어렵다 구조를 이루는 각 부품을 하나씩 만들어 가는 방법 장점 코드 읽기 / 유지보수가 편하다 객체 생성을 깔끔하게 할 수 있다 public class Text { private String text; private Text() {} @Override public String toString() { return text; } public static class Builder{ private String title; private String content; private String [] items; public Builder setTitle(String title){ this.title = title; return t..
솜사탕코튼
'디자인패턴' 카테고리의 글 목록