무엇을 개발해야 하는지 명확하게 이해하지 못한 상태에서 코딩부터 시작하는 개발자는 회사의 입장에서 시간과 돈을 낭비하게 만들며 더 심각한 문제를 만들 수 있다.
1단계 모호성의 해소 ( 비즈니스 파악 )
객체 지향 설계는 우선 누가 그것을 사용할 것이며 어떻게 사용할 것인지 파악하는 것이 중요하다.
2단계 핵심 객체의 설계 ( 모델 설계 )
핵심 객체가 무엇인지 생각해봐야 한다. 예를 들어, 식당을 객체 지향적으로 설계한다고 하면 Table, Guest, Party, Order, Meal, Employee, Server, Host 등이 있을 수 있겠다.
3단계 관계 분석 ( 모델 관계 설정 )
어떤 객체에 속해 있는가? 다른 객체로부터 상속 받아야 하는 객체는 있나? 다대다 인가 일대다 인가?
4단계 행동 분석
객체가 수행해야 하는 핵심 행동들에 대해서 생각하고 이들이 어떻게 상호작용해야 하는지 따져 봐야한다. 이 과정에서 설계가 변경되거나 추가되는 사항이 있을수도 있겠다.
5단계 디자인 패턴
내가 2년~3년 경험하면서 사용한 패턴은 주로 팩토리 메서드 패턴, 크리테리아? 패턴 ( 필터 ), 싱글톤 패턴, 템플릿 메소드 패턴등이 있다.
주로 비즈니스를 파악하고 이런 패턴과 일치하는지 판단해봐야 한다.
'개발 > 기타개발' 카테고리의 다른 글
애플리케이션 설계 ( 신뢰, 확장성, 유지보수성 ) (0) | 2020.05.09 |
---|---|
SQL group by 와 기본적인 문법 이해 (0) | 2020.03.29 |
도커 컨테이너 자원 할당 제한 (0) | 2020.02.01 |
도커 컨테이너 로깅 (0) | 2020.02.01 |
리팩토링 (0) | 2019.07.25 |
댓글