[공부] 독서/클린 아키텍처(2)
-
[재독서] 클린 아키텍쳐
소프트웨어 아키텍쳐의 목표 필요한 시스템을 만들고 유지보수하는데 투입 되는 인력을 최소화한다. 개발자 입장에서 전력을 기울이지 않는 개발자는 없다. 소프트웨어의 어원처럼 소프트웨어는 반드시 부드러워야한다. 구조적 프로그래밍 Goto 문이 없어진 이유: Goto 문은 재귀 호출, 구조적 분해라는 과정을 방해하는 요소 모든 프로그램은 순차 분기 반복이라는 구조로 만들 수 있다. =>프로그램에서도 유클리드 계층 구조 를 만들 수 있다. 객체 지향 프로그래밍 객체 지향의 3가지 키워드 : 캡슐화, 상속, 다형성 자바와 C# 은 헤더와 구현체 분리하는 방식을 버렸고 코드상에 어떤 멤버변수가 있는지 알게됨으로서 캡슐화이 가치가 일정 훼손되었다. 자바와 C# 에서의 상속은 C++에서도 눈속임으로 가능한 방법이었다. ..
2020.02.28 -
클린 아키텍처
아키텍처의 중요성 긴급한 일(변경 요청)에 밀려 중요한 일, 예를 들어 아키텍쳐를 어기거나 아키텍처 없이 개발을 시작하는 미련한 짓을 하지마라. 책에서 제시하는 우선 순위는 다음과 같다. 긴급하면서 중요한 일 중요한 일 긴급한 일 이도 저도 아닌 일 인터페이스를 사용하자. import 할 때 구체 클래스를 import 하지마라. 현실적으로 가능한가? 실제로는 시도조차 해본적이 없기 때문에 그렇게 생각하는 것 같기도하다. 다음 프로젝트에서는 적용해보는게 좋을 듯 싶다. 결합도를 낮춰라. 의존성을 낮추는 것의 목표 : 변동성의 격리 의존성을 낮추는 방법 : 순환 의존성을 없애라. [117p] class 간에 양방향 관계를 없애야한다. [78p] 롬복을 적용할 시 toString, hashCode 계산에서 스..
2019.09.08