본문 바로가기
반응형

SWE326

[디자인패턴] 데코레이터 패턴 | 악세사리 가격 계산 예시 코드 Decorator Pattern 데코레이터 패턴 개념 데코레이터 패턴에서는 데코레이터가 객체를 겹겹이 감쌈(wrapping)으로써 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터 패턴은 이름처럼 감싸는, 꾸며주는 패턴이다. 개념만 보고는 이해가 어려울 수 있으니, 액세서리를 예로 들어보겠다. 예시- 판도라 팔찌 판도라 팔찌는 링을 고르고 자기 스타일대로 참을 골라서 끼우는 걸로 유명하다. 고객이 팔찌와 참들을 자기 취향에 맞게 고르면, 그 팔찌의 가격을 계산하는 프로그램을 데코레이터 패턴을 사용해서 구현해보자. 1. 팔찌를 고른다. 2. 참들을 고른다. 예를 들어 고객이 은팔찌에 별과 하트참을 추가한다면 객체는 이런 모습을 가질 것이다. 처음엔 silverbracelet을 선택하고 금액을 산출한다... 2021. 8. 23.
[디자인패턴] Observer Pattern 옵저버 패턴 Observer Pattern 옵저버 패턴 개념 옵저퍼 패턴이란 한 객체의 상태가 바뀌면 다른 객체들한테 새 소식을 알려줄 수 있는 패턴이다. 이 때, 소식을 전달하는 객체는 Subject서브젝트라 하고, 소식을 받는 객체들을 Observer옵저버라고 한다. 옵저버 패턴은 신문 구독 메커니즘과 같다. 사람들은 출판사에 구독 신청을 하고, 출판사는 신문을 구독하고 있는 사람들에게만 신문을 발행한다. 출판사는 subject이고, 신문을 받아보는 구독자들은 observer이다. 서브젝트는 한 개이고, 구독자들은 여러 개인 일대다 관계이다. 변화가 있을 때 서브젝트는 모든 객체들에게 그 변화를 알리는 것이 아니라, 구독 신청을 한 객체들(즉 옵저버들)에게만 알린다. 위의 그림에서 보면, 우측의 Dog, Cat,.. 2021. 8. 9.
[Qt] PlaceholderText의 색상 변경 방법 - Qt4 & Qt5 요즘따라 Qt4 와 Qt5의 버전 차이를 많이 느끼고 있다. 내가 쓰는 많은 메소드들이 Qt5부터 지원되고 있어서 Qt4는 하드코딩 하는 경우가 발생한다...... ㅠㅠ TextEdit의 PlaceholderText의 색상을 변경하는 것 또한 Qt4에서는 하드 코딩이 필요하다... PlcaeholderText 색상 변경하는 방법 PlaceholderText란? Qt 위젯 중에 텍스트 인풋 박스들이 있다. (QLineEdit, QTextEdit, QPlainTextEdit) 사용자가 글을 입력할 수 있는 텍스트박스라고 생각하면 된다. PlaceholderText는 텍스트박스 위젯들의 속성 중 하나인데, 한글로 직역하면 자리표시자문구이다. 해당 텍스트 박스에 무엇을 입력해야하는지 사용자에게 예시를 알려줄 때.. 2021. 7. 31.
[디자인 패턴] Abstract Factory Pattern 추상 팩토리 패턴 추상팩토리패턴을 공부하기 전에 '심플 팩토리'와 '팩토리 메소드 패턴'을 먼저 공부하면, 이해가 수월할 것이다. https://flower0.tistory.com/414 [디자인 패턴] Simple Factory 심플팩토리 팩토리 패턴에는 다음과 같이 두 가지 패턴이 있다. - 팩토리 메소드 패턴 Factory method Pattern - 추상 팩토리 패턴Abstract Factory Pattern 이 두 가지 패턴을 공부하기위해, 두 패턴의 베이스인 'Simple Fac.. flower0.tistory.com 팩토리 메소드 패턴 https://flower0.tistory.com/415 [디자인 패턴] Factory Method Pattern 팩토리 메소드 패턴 팩토리 메소드 패턴의 기조인 '심플 팩토.. 2021. 7. 22.
반응형