프로그래밍언어12 소리치는 아키텍쳐 아키텍처란 무엇일까? 상황과 범위에 따라 다르겠지만, 애플리케이션을 만들 때 아키텍쳐에 대해 생각해보자. 우선 이 구조를 보고 어떤 애플리케이션인지 파악해보자. domain 을 보니 이 애플리케이션을 계좌와 관련된 무언가를 하는 것으로 보인다. web으로 디렉토리가 빠져있는 것을 보니 delivery 방식은 web을 사용하는 것으로 보인다. persistence는 domain의 AccountRepository를 구현한 것으로 보인다. 표면적으로 도메인 , 영속성, 딜리버리를 구분해서 크게는 이해해볼 수는 있지만 무엇을 하는지 파악하기는 쉽지 않다. 즉, 어플리케이션이 어떤 유스케이스들을 제공하는지 파악할 수 없다. 다른 구조를 살펴보자 이 구조를 보면 계좌와 관련된 것들을 중점적으로 하는 것을 알 수 .. 2022. 4. 18. value object(값 객체) 정의 > Wekipedia In computer science, a value object is a small object that represents a simple entity whose equality is not based on identity: i.e. two value objects are equal when they have the same value, not necessarily being the same object.[1][2] Examples of value objects are objects representing an amount of money or a date range. Being small, one can have multiple copies of the same value .. 2022. 4. 17. abstraction level(추상화 수준) 추상화란 구체적인 것에서 핵심만을 간추려 내는 것이다. 구체와 추상은 상대적인 것이기 때문에 추상화에서도 수준이 생기게 된다. 1) "문서를 출력한다." 2) "문서를 프린터를 이용해 출력한다." 3) "문서를 와이파이 방식의 프린터 이용해 출력한다" 1) "문서를 편집한다" 2) "문서를 텍스트 에디터를 이용하여 편집한다" 3) "문서를 클라우드 서비스를 이용해 텍스트 에디터를 이용하여 편집한다" 1,2,3 순으로 추상화 수준이 점점 낮아진다. 1에서 더 추상화할 수 없다. 따라서 여기까지만 하면 된다. 우리가 작성하는 코드를 보았을 때 1,2,3이 순서대로 나오는가? 아니면 1,2는 없고 3만 나오지는 않는가? 1,2을 건너뛰고 3의 코드를 우리가 본다면 핵심이 무엇인지, 무엇(what)을 하는지 .. 2022. 4. 17. dependency(의존관계) # 정의 > wekipedia Dependency (computer science) or coupling, a state in which one object uses a function of another object > 해석 A가 B에 의존관계를 가진다고 해보자. A가 B에 의존한다는 것은 A가 있기 위해서는 B가 있어야만 된다는 뜻이다. 즉, A를 이해하기 위해서는 B를 알아야한다는 것을 의미한다. 클래스 A를 만드는 과정에서 B라는 클래스에 의존하게 될 경우 클래스 A를 이해하기 위해선 클래스 B를 살펴보게 된다. 쉽게 생각해 어떤 모듈을 작성할 때 사용하는 모든 것들이 그 모듈의 의존관계가 되는 것이다. 간단한 print라는 함수 하나를 보면 이 print 함수에서는 setnry/logger 와 .. 2022. 4. 17. 이전 1 2 3 다음