목적
객체지향 디자인 패턴을 Dart에 적용시키기 위해서
내용
싱글톤 패턴
단 하나만 있어야할때 사용하는 패턴
- UserRepository
- DarkMode/LightMode
스트레티지 패턴
수행하는 방식이 다른경우
- Search
- 구단
- 선수
- 팬
검색의 동작 방식이 다르다.
스테이트 패턴
수행하는 방식이 다른경우
on/off 방식으로 작동한다(스트레티지 패턴과의 차이점)
커맨드 패턴
수행하는 행위(스트레티지 패턴과의 차이점)가 다른경우
어탭터 패턴
다른 인터페이스를 상속하는 클래스를 연결해주는것
- 양식 요리사 4명과 제빵사 1명이 있을때 요리해! 라고 하면
- 제빵사는 요리해! 라는 명령을 듣고 제빵을 하도록 하는것
- 요리사에게 요리하라고하고 제빵사에게는 제빵하라고 할 필요없이 요리해! 라는 한마디로 명령전달 가능
프록시 패턴
시간이 오래 걸리는 행위와 그러지 않는 행위를 구분
- 동영상 목록이 6개 나열되어있을때 마우스를 올려야 동영상이 재생된다.
- 마우스를 올리지 않은 상태에서는 프록시 패턴을 사용하여 제목만을 가져오고
- 마우스를 올린 상태에서 진자 객체를 가져와 동영상을 재생하는 무거운 행위를 실행한다.
결론
회사앱에 적용시켜보고싶다...!