단일 접근 원칙
-
단일 접근 원칙(Uniform Access Principle)을 통한 캡슐화 2부[끝][옛날 글들] 설계 이야기 2024. 5. 27. 09:00
단일 접근 원칙(Uniform Access Principle)은행 계좌 예제가 변경에 취약한 이유는 Account의 balance 속성을 외부에서 직접 변경할 수 있었기 때문이다. 따라서 balance와 관련된 설계 결정을 변경할 경우 public 속성에 의존하고 있는 많은 코드들이 연쇄적으로 영향을 받게 된다. 이를 방지하는 일반적인 방법은 public 메소드를 통해 private 속성을 캡슐화함으로써 파급 효과의 범위를 제한하고, 외부에서 속성의 값에 접근할 필요가 있을 경우 값을 반환하는 함수를 추가하는 것이다. 그러나 이러한 방식은 코드에 불필요한 잡음을 추가한다.public class Account { private long balance; public Account() { } pub..
-
단일 접근 원칙(Uniform Access Principle)을 통한 캡슐화 1부[옛날 글들] 설계 이야기 2024. 5. 24. 11:49
이전 글 : 단일 접근 원칙(Uniform Access Principle)을 통한 캡슐화 1부 은행 도메인에서 계좌(account)의 주된 용도는 고객의 잔액(balance)을 관리하는 것이다. 객체 지향 분석/설계의 핵심은 실세계의 개념과 유사한(그러나 완전히 동일하지는 않은) 추상 모델을 구축하는 것이므로 유비쿼터스 언어(UBIQUITOUS LANGUAGE)에 포함된 어휘인 account와 balance를 사용해서 도메인 모델을 작성할 수 있다.구현 언어로 Java를 사용할 경우 계좌의 개념을 구현할 수 있는 가장 간단한 방법은 balance를 public 속성으로 가지는 Account 클래스를 추가하는 것이다. 실제 운영 코드였다면 금액을 표현하기 위해 통화와 금액을 하나의 단위로 유지하는 QUAN..