2025/01/09 3

디자인 패턴 : 파사드 패턴

Facade Pattern  : 사용하기 복잡한 클래스 라이브러리에 대해 사용하기 편한 인터페이스를 구성하기 위한 패턴특정한 기능들을 묶어두거나, 생성에 특정한 로직을 추가하는 것이 아닌 '정리'를 위한 패턴이라고 이해 하는 것이 편함.출처 : INPA Dev퍼사드는 하위시스템 클래스들을 캡슐화 하는 것이 아니라, 서브 시스템들을 사용할 간단한 인터페이스를 제공하는 것사용자가 서브 시스템 내부의 클래스를 직접 제한하는 것을 막을 수는 없다.  예시 코드 using System;public class Amplifier{ public void On() => Console.WriteLine("Amplifier: On"); public void Off() => Console.WriteLine("Amp..

개념공부 2025.01.09

디자인 패턴 : 컴포지트 패턴

간단한 패턴이다. leaf와 Composite 모두 같은 인터페이스를 상속받고, 구현은 leaf에서, 하며 composite에서는 재귀적으로 자신의 리스트 안에 있는 leaf에서 구현을 호출하게 한다. using System;using System.Collections.Generic;using UnityEngine;public interface IComponent{ void Operation();}public class Composite : IComponent{ private List components = new List(); public void Add(IComponent component) { components.Add(component); } publi..

개념공부 2025.01.09

[멋쟁이사자처럼 부트캠프 TIL회고] 49일차 : 디자인 패턴

디자인 패턴 : 전략 패턴 https://febelo0524.tistory.com/68 디자인 패턴 : 전략 패턴전략 패턴객체의 전략(행동)을 정의하는 알고리즘을 외부에서 선택하고 주입하여 유연성과 확장성을 높이는 설계 방식'전략'을 캡슐화하여 런타임에 동적으로 교체할수 있도록 설계하는 방법DIfebelo0524.tistory.com정리한 내용을 바탕으로 간단하게 생각해보자면, 같은 DoSomething() 메서드를 호출해도, SetStrategy로 설정한 strategy에 따라 다른 기능이 호출되는 것이다.이는 DoSomething메서드가 구체적인 클래스를 참조하지 않고, Strategy 인터페이스를 참조하기 때문이다.  정리하면서 느낀 것은, 아직 나는 다형성 개념에 대해 완벽히 이해하고 있지 못하다..

TIL 2025.01.09