design pattern(2)
-
코드 재사용성을 높이는 방법
디자인 패턴의 아름다움이라는 책을 읽다가 코드 재사용성에 대한 이야기가 있어 정리하려고 합니다. 1. 코드의 결합도를 줄인다. 고도로 결합된 코드는 특정 기능을 재사용하거나 독립적인 모듈, 클래스, 함수로 추출하려고 할때, 일부 코드의 동작이 전체에 영향을 미치며, 일부 코드를 분리하기 위해 보다 많은 코드를 재배치해야 하는 경우가 많다. 따라서 결합도가 높은 코드는 코드의 재사용성에 영향을 미치며, 이를 피하기 위해 코드의 결합도를 최소화 할 필요가 있다. 많은 로직이 들어간 코드는 많은 곳에 영향을 미치기 때문에, 코드를 분리하려면 필요한 부분 뿐만 아니라 다른 부분의 코드를 많이 건드려야 한다. 2. 단일 책임 원칙을 충족시켜야 한다. 모듈이나 클래스의 책임이 충분히 단일하지 않은데, 설계가 거대하..
2023.08.17 -
Visitor 패턴
소개 패턴을 활용한 리팩터링이라는 책에서 Switch 문을 좀더 객체지향적인, 다향성을 이용하도록 리팩터링 하기 위해서 Visitor 패턴을 도입하면, 조건 로직도 필요 없어지고 설계도 더 융통성 있게 할 수 있다고 소개한다. 방문자 패턴(Visitor Pattern) Visitor는 사전적인 의미로 어떤 장소에 찾아오는 사람이라는 의미를 가지고 있다. 방문자 패턴에서는 데이터 구조와 처리를 분리한다. 데이터 구조 안을 돌아다니는 주체인 방문자를 나타내는 클래스를 준비해서 처리를 맡긴다. 새로운 처리를 추가하고 싶을 땐 새로운 방문자를 만들고 데이터 구조는 방문자를 받아들이면 된다. 방문자 패턴은 개방-패쇠 원칙을 적용하는 방법 중 한 가지 입니다. 확장에 대해 열려있다. 클래스를 설계할 때, 특별한 이..
2023.06.01