일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- builderPattern
- 프로토타입 패턴
- 추상 팩토리
- Abstract Factory
- 코틀린
- ㅋㅁ
- 옵저버 패턴
- r
- 디자인패턴
- Observer Pattern
- F
- designPattern
- 팩토리 메소드
- a
- 디자인패턴 #
- Functional Programming
- Kotlin
- ㅓ
- 싱글톤
- 빌터패턴
- PrototypePattern
- 함수형프로그래밍
- El
- 추상팩토리패턴
- factory method
- Design Pattern
- Singleton
- Today
- Total
목록디자인패턴 (18)
오늘도 더 나은 코드를 작성하였습니까?
데코레이터 패턴 - 객체에 추가 요소를 동적으로 더할 수 있다 - 하위 클래스를 생성시 훨씬 유연하게 기능을 확장할 수 있다 기본적인 핵심기능이 고정되어 있고, 추가적인 옵션이 다양한 경우 다양한 서브클래스가 발생할 수 있다. 기본 추상 클래스 object CoffeeBeans{ val arabica = "Arabica" val robusta = "Robusta" val liberica = "Liberica" } abstract class Coffee (val beans: String = CoffeeBeans.arabica){ var description = "" abstract fun getPrice(): Int } abstract class CondimentDecorator(private val c..
강한 결합 - 강하게 결합된 객체(Tightly Coupled Object)는 결합된 객체에 대한 상당히 많은 정보를 필요한다. - 타이트하게 연견된 애플리케이션에서 하나의 객체를 변경하는 것은 많은 다른 부분을 변경을 요구한다 class Computer( val cpu: IntelCpu, val memory: SamsungMemory, ){ . . . } class IntelCpu() class SamsungMemory() 느슨한 결합 - 인터페이스를 이용한 의존성 역전 - 느슨한 결합은 하나의 콤포넌트의 변경이 다른 콤포넌트들의 변경을 요구하는 위험을 줄이는 것을 목적으로 하는 시스템에서 콤포넌트 간의 내부 의존성을 줄이는 것을 추구하는 디자인 목표다. class Computer( val cpu: C..
옵저버 패턴 정의 - 특정 객체의 상태가 변화하면 그 객체에 의존하는 다른 객체에게 알림이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의합니다. *주제와 관찰자 객체간의 느슨한 결합을 통해 구현한다. 기본 인터페이스 interface Observer { fun update() } interface Subject { fun registerObserver(observer: Observer) fun removeObserver(observer: Observer) fun notifyObserver() } 주제(RoadTrafficCorporation) 및 상태(SubWaySchedule) 클래스 class SubWaySchedule(val num: Int, var start: String = "05..
정의 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴이다. 다른 말로 정책패턴이라 부른다. 특정한 계열의 알고리즘들을 정의 각 알고리즘(특정 행동에 관한 알고리즘)을 캡슐화 이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 한다. *Context - 상황, 맥락, 문맥 - 개발자가 특정 작업을 완료하는데 있어서 필요한 모든 관련된 정보 결제 시스템 data class Item( val id: Int, val name: String, val price: Int ) class ShoppingCart { private val _itemList: MutableList = arrayListOf() val itemList: List get() = _itemList fun add(item..