이 글은 PC 버전 TISTORY에 최적화 되어있습니다.
서론
좋은 구조는 그 코드를 다시 배우거나, 유지하거나, 테스팅하거나, 고치거나, 확장하는 비용을 줄여준다.신입 개발자로 일한지 어언 1년이 되었지만 완벽한 객체지향을 구현해본 기억이 별로 없기 때문에 (바빠서라는 핑계도 있지만) 개발 도중 내가 좋은 객체지향 코드를 짜고 있는지 돌이켜보기 위해 이 글을 쓴다.
1. 전능한 클래스를 피하라, 의미있는 이름을 사용해라.2. 업데이트 중
전능한 클래스를 피하라, 의미있는 이름을 사용해라.
개발을 시작할 때 어떤 일들이 있는지 정하고 그 일을 할 수 있는 클래스들을 만든다. 그리고 그 클래스들이 무슨 일을 하는지 이름을 붙여준다. 그런데 이 클래스가 너무 많은 일을 하면 어떻게 이름이 붙게 될까? 아마도 다음과 같을 것이다.
"PageInfoBuilderAndConfigurationLoaderAndStartDeCachingManager....." 이 것은 클래스가 너무 많은 일을 하고 있다는 것이다. 이것을 분리하라. 이상적으로 한 클래스는 하나의 일만 시키도록 하자.
만약 객체지향 디자인 패턴을 쓰면 더 쉽게 의미있는 이름을 지을 수 있을 것이다. 왜냐하면 각 패턴마다 이름이 있고 그 이름이 어떤 일을 하는지 쉽게 떠오르게 해주기 때문이다.
- 만약 오브젝트를 만드는 클래스면 클래스 접미사로 Factory 또는 Builder를 쓰면 된다.
- 만약 클래스가 다른 클래스들과의 커뮤니케이션을 맡고 있다면 접미사에 Mediator를 쓰자.
- 만약 클래스가 리소스 클래스 사용을 컨트롤 하고 있다면 접미사에 Proxy를 쓰자.
- 만약 클래스가 어떤 클래스를 다른 클래스나 사용자가 사용할 수 있게 바꿔주는 역할을 하면, 접미사에 Adapter를 쓰자.
업데이트 중..
반응형
'Basic > Javascript' 카테고리의 다른 글
[AJAX] 비동기식 XMLHttpRequest에서 어떻게 결과를 얻을까? (0) | 2018.01.18 |
---|---|
[자바스크립트 패턴] ① 리터럴을 이용한 객체 생성 패턴 (0) | 2017.07.04 |
자바스크립트 코딩 컨벤션(스타일 가이드) (2) | 2017.07.03 |
[자바스크립트] 문자 ↔ 숫자 타입 변환 방법 / 성능 분석 (0) | 2017.06.27 |
Javascript setInterval 즉시 실행하는 방법 (1) | 2017.06.15 |