반응형
오늘 한 일
- 디자인 패턴 학습
- 상태 패턴, 팩토리 패턴 학습함
- 키오스크 프로젝트 MVC 패턴으로 전환 및 기능 개발
- 중복 코드를 최대한 없애면서 만들려고 했다.
- 반복되는 코드가 보이면 메소드로 추출했다.
- 중복되는 필드나 메소드를 상황에 따라 인터페이스나 추상 클래스를 상속받아 없앴다.
- 협력하는 객체를 만드는 것은 무엇일까 고민했다.
- MVC 패턴이 객체가 협력하기 쉽도록 만들어주는 구조라고 생각했다.
- 근데 패턴보다 더 중요한 것이 실제 모델, 뷰, 컨트롤러 객체를 어떻게 만들 것인지다.
- 컨트롤러가 관리하는 상태가 많고, 상태와 관련된 로직이 복잡해서 컨트롤러의 상태를 클래스로 만들어서 캡슐화했다. 상태 패턴을 적용하면서 상태 1개당 상태 클래스, 상태 모델 클래스, 상태 뷰 클래스가 생겨서 클래스의 관리가 힘들었지만, 거대한 컨트롤러의 상태들을 캡슐화 함으로써 가독성이 무척 좋아지고, 상태를 추가하기도 편해졌다.
- 모델과 모델을 소유하는 클래스가 있을 때, 소유 클래스의 메소드 이름으로 비즈니스 로직을 표현하고 모델 클래스에 비즈니스 로직을 개발했다.
- 객체의 생성을 분리하려고 했다.
- 팩토리 패턴으로 다양한 종류의 메뉴판을 만들까 생각했다. 근데 내가 팩토리 패턴으로 생성할 메뉴판은 메뉴판 클래스가 아니라, Arrays.asList()로 만드는 컬렉션이다.
- 이걸 클래스로 만들면 지금 내가 만든 구조와 같고, 컨트롤러에서 직접 new로 생성하는 것과 메소드로 생성하는 것의 차이일 뿐이다.
- 그래서 적절한 방법을 더 고민해봐야겠다.
- 중복 코드를 최대한 없애면서 만들려고 했다.
반응형
'TIL' 카테고리의 다른 글
[TIL] 내일배움캠프 15일차 (0) | 2023.10.23 |
---|---|
[TIL] 내일배움캠프 14일차 (0) | 2023.10.20 |
[TIL] 내일배움캠프 12일차 (0) | 2023.10.19 |
[TIL] 내일배움캠프 11일차 (0) | 2023.10.17 |
[TIL] 내일배움캠프 10일차 (0) | 2023.10.16 |