design pattern3 Singleton Pattern Head First Design Pattern 개정판 싱글톤 패턴 내용을 C# Console 프로젝트로 구현 고전적인 싱글턴 패턴 구현 멀티 스레드 환경에서 유일한 인스턴스 생성이 보장되지 못함 namespace SingletonPattern { public class ChocolateBoiler { private static ChocolateBoiler _instance = null; public static ChocolateBoiler Instance { get { if (_instance == null) { _instance = new ChocolateBoiler(); } return _instance; } } private ChocolateBoiler() { } } } 스레드 안전한 싱글톤(정적 .. 2023. 9. 8. 디자인 원칙 Head First Design Pattern 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다. 구현보다는 인터페이스에 맞춰서 프로그래밍한다. 상속보다는 구성(composition)을 활용한다. 상호작용하는 객체 사이에는 가능하면 느슨한 결합을 사용해야 한다. 2023. 8. 27. Strategy Pattern Head First Design Pattern 개정판 전략 패턴 내용을 C# Console 프로젝트로 구현 Program.cs using System; namespace StrategyPattern { internal class Program { static void ShowStrategyPattern() { Console.WriteLine("[ Strategy Pattern ]"); Console.WriteLine("객체의 행동을 쉽게 확장하거나, 변경할 수 있는 클래스들의 집합으로 캡슐화하는 방식"); Console.WriteLine("알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해 줍니다."); Console.WriteLine("전략 패턴을 사용하면 클라이언트로부터 알고.. 2023. 8. 24. 이전 1 다음