본문 바로가기
반응형

전체 글1225

[디자인 패턴] 경량 패턴 (Flyweight Pattern) 🎈 플라이웨이트 패턴 (Flyweight Pattern) • 객체를 공유하여 메모리 사용을 최적화하는 패턴 플라이웨이트 패턴은 모든 객체를 일일이 생성하지 않고 중복되는 부분을 공유해서 메모리를 가볍게 만드는 패턴 • Flyweight = "Fly 가벼운 + Weight 무게"라는 의미로 (복싱의 체급에서 유래되었다.) • 게임 개발, 웹 브라우저 캐시 등에 활용 가능 • 디자인 패턴 중 구조 패턴 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드].. 2023. 11. 12.
[디자인 패턴] 프록시 패턴 (Proxy Pattern) 🎈 프록시 패턴 (Proxy Pattern) • 대상 원본 객체를 대신 처리하여 로직 흐름을 제어하는 패턴 • 프록시(Proxy) 사전적인 의미는 '대리인' (= 누군가에게 어떤 일을 대신 시키는 것을 의미) • 활용방안: 보안, 캐싱, 데이터 유효성 검사, 지연 초기화, 로깅 등 • 디자인 패턴 중 구조 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com 프록시 패턴 필요성 Q) 객체에 직접적으로 접근하면 되지 번거롭게 대리자를 통하는 이유는 .. 2023. 11. 11.
[디자인 패턴] 메멘토 패턴 (Memento Pattern) 🎈 메멘토 패턴 (Memento Pattern) • 객체 상태를 저장/복원하는 디자인 패턴 • 스냅샷과 같은 기능으로 "실행 취소" 및 "다시 실행" 구현에 유용 • 활용 예시: 텍스트 에디터, 게임 상태, 회원가입 양식, 데이터베이스 백업 등 • 디자인 패턴 중 행위 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제코드] #include #include class Character { private: std::string name; i.. 2023. 11. 10.
[디자인패턴] 퍼사드 패턴 (Facade Pattern) 🎈 퍼사드 패턴 (Facade Pattern) • 복잡한 시스템을 단순화된 인터페이스를 제공하여 사용자가 시스템 일부분을 쉽게 사용할 수 있도록 한다. • 디자인 패턴 중 구조 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com 활용 방안 • 복잡한 시스템 단순화 • 라이브러리 래핑: 외부 라이브러리 or API를 이용하여 사용자 친화적인 인터페이스 제공 • 기능 묶기: 서브 시스템을 논리적으로 묶어서 일관된 인터페이스 제공 [예제 코드] #in.. 2023. 11. 9.
[디자인 패턴] 관찰자(Observer) 패턴 🎈 감시자 패턴 (Observer Pattern) • 어떤 객체 상태가 변경되면 다른 객체(observer)에게 알리는 디자인 패턴 → 의존관계에 있는 모든 객체들이 통지받고 자동으로 갱신 → 1:多 형태로 Broadcast로 활용 • 옵저버(Observer) 패턴은 객체 간 느슨한 결합 제공 • 데이터 흐름을 관찰하여 분산 이벤트 처리에 유용 → GUI 프레임워크, 게임 엔진, 주식 시장 알림, 예외 처리와 로깅, 발행/구독 • 디자인 패턴 중 행위 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상.. 2023. 11. 6.
[디자인패턴] 컴포지트 패턴 (Composite Pattern) 🎈 컴포지트 패턴 (Composite Pattern) • 객체들을 계층 구조로 구성하여 개별 객체와 복합 객체를 다룬다. • 부분-전체 계층을 표현하는 패턴 • 동일한 인터페이스로 일관성을 유지한다. → 전체적인 구조 유지에 유용함 • 그래픽 라이브러리, 문서 구조, 조직 구조와 같은 시스템에서 활용된다. • 디자인 패턴 중 구조 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] → 컴포지트 패턴 적용 #include #inclu.. 2023. 11. 5.
[디자인패턴] 인터프리터 패턴 (Interpreter Pattern) 🎈 인터프리터 패턴 (Interpreter Pattern) • 주로 문장 해석하는 목적으로 사용되는 패턴 • 정규 표현식, SQL 구문, 컴파일러 구현에 활용됨 • 디자인 패턴 중 행위 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] #include class Expression { public: virtual int interpret() = 0; }; class Number : public Expression { private.. 2023. 11. 4.
[디자인패턴] 커맨드 패턴 (Command Pattern) 🎈 커맨드 패턴 (Command Pattern) • 명령을 캡슐화하고 실행하기 위해 사용 • GUI 응용 프로그램, 트랜잭션 처리, 큐 관리 등에 활용 가능 • 명령 이력 관리, 역명령 실행(Undo), 동적 선택과 같은 상황에서 유용 • 디자인 패턴 중 행위 패턴에 해당된다 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] → Command Pattern #include #include class Light { public: void turnOn.. 2023. 11. 3.
[디자인패턴] 어댑터 패턴 (Adapter Pattern) 🎈 어댑터 패턴 (Adapter Pattern) • 호환되지 않는 인터페이스를 가진 두 개의 클래스를 함께 사용할 수 있게 한다. • 상속 보다는 위임하는 형태 권장 상속은 실수로라도 접근할 수 있기에 데이터를 보호하지 못할 수 있다. • 예시) 라이브러리 호환, 데이터 변환, 외부 API 통합, 로그 변환 • 디자인 패턴 중 구조 패턴에 속한다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] #include // 기존의 온도 변환 클래스 cl.. 2023. 11. 2.
[디자인패턴] 장식자 패턴 (Decorator) 🎈 데코레이터 패턴 (Decorator Pattern) • 객체에 동적으로 기능을 추가하거나 변경할 수 있게 해주는 패턴 • 압축, 암호화, 버퍼링 기능 추가시 활용해볼 수 있다. • 디자인 패턴 중 구조 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] → 데코레이터 패턴 적용 X #include class Coffee { public: void brew() { std::cout 2023. 11. 1.
반응형