본문 바로가기

프로그래밍/Computer Science(CS)7

옵저버 패턴(observer pattern) 옵저버 패턴이란? 주체가 어떤 객체(subject)의 상태 변화를 관찰하다가 상태 변화가 있을 때마다 메서드 등을 통하여 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 디자인 패턴 주체란? 객체의 상태 변화를 보고 있는 관찰자이다. 옵저버들이란? 객체의 상태 변화에 따라서 전달되는 메서드 등을 기반으로 변화가 생기는 객체를 의미한다. Java import java.util.ArrayList; import java.util.List; // 주제(Subject) 인터페이스 interface Subject { void registerObserver(Observer observer); void removeObserver(Observer observer); void notifyObservers(); } // 옵.. 2024. 2. 29.
전략 패턴(strategy pattern) 전략 패턴이란? 전략 패턴은 클라이언트가 객체의 특정 행위를 변경하고자 할 때, 해당 행위를 직접 수정하지 않고 외부에서 알고리즘을 캡슐화하여 변경 가능하게 하는 디자인 패턴 Java import java.text.DecimalForamt; import java.util.ArrayList; import java.util.List; // 배송 방식을 나타내는 전략 인터페이스 interface ShippingStrategy { void shipPackage(String packageId); } // 택배 배송 class ExpressShipping implements ShippingStrategy { private String packageName; public ExpressShipping(String pa.. 2024. 2. 27.
싱글톤 패턴(Singleton pattern) 싱글톤 패턴이란? 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 JavaScript //ex1과 ex2는 다른 인스터를 가진다. const ex1 = { example : devpcmini } const ex2 = { example : devpcmini } console.log(ex1 === ex2); // false /** * Singleton.instance라는 하나의 인스턴스를 가지는 Singleton 클래스를 구현 * ex1과 ex2는 하나의 인스턴스를 가진다. */ class Singleton { constructor() { if (!Singleton.instance) { Singleton.instance = this; } return Singleton.instance; } static g.. 2024. 2. 26.