객체지향 프로그래밍
2. 객체지향 프로그래밍 2.1 영화 예매 시스템 할인 조건 할인 정책 2.2 객체지향 프로그래밍을 향해 협력, 객체, 클래스 진정한 객체지향 패러다임으로의 전환은 클래스가 아닌 객체에 초점을 맞출 때에만 얻을 수 있다. 이를 위해서는 프로그래밍하는 동안 다음의 2가지에 집중 어떤 클래스가 필요한지를 고민하기 전에 어떤 객...
2. 객체지향 프로그래밍 2.1 영화 예매 시스템 할인 조건 할인 정책 2.2 객체지향 프로그래밍을 향해 협력, 객체, 클래스 진정한 객체지향 패러다임으로의 전환은 클래스가 아닌 객체에 초점을 맞출 때에만 얻을 수 있다. 이를 위해서는 프로그래밍하는 동안 다음의 2가지에 집중 어떤 클래스가 필요한지를 고민하기 전에 어떤 객...
1. 객체, 설계 소프트웨어 개발에서는 아직 실무가 이론보다 앞서 있는 분야가 많음 1.1 티켓 판매 에플리케이션 구현하기 소극장 이벤트를 통해 관람권을 나눠준 상황 관람객을 입장시키기 전에 이벤트 당첨 여부를 확인해야 하고 이벤트 당첨자가 아닌 경우에는 티켓을 판매 후 입장 구현 했지만 문제 발생 1.2 무엇이 문제인가 소프트웨어 모듈이...
1. 성능과 최적화 1.1 자바 성능: 잘못된 방법 과거에는 메서드를 분리하지 않는 것이 성능에 좋다고 함 -> 현재와는 전혀 다름 자바 코드가 실행되는 속도는 매우 변화무쌍하며 전적으로 코드를 실행하는 하부 JVM에 따라 다름 우수한 성능 목표를 달성하기 위해 필요한 여러 가지 단면을 종합적으로 집중 소개 전체 소프트웨어 수명주기...
34. 빠져 있는 장 프레임워크는 아키텍처가 될 수 없다. 계층 기반 패키지 수평 계층형 아키텍처 처음 시작하기에 적합 Controller, Service, Repository 엄청난 복잡합을 겪지 않고도 무언가를 작동시켜 주는 아주 빠른 방법 소프트웨어가 커지고 복잡해지기 시작하면, 더 잘게 모듈화를 해야 할지 고민하게 됨 업무 도메인...
32. 프레임워크는 세부사항이다 프레임워크는 아키텍처가 될 수 없다. 프레임워크 제작자 프레임워크는 당신이 풀어야 할 특별한 관심사를 염두에 두지 않는다. 물론 당신의 문제는 프레임워크가 풀려는 문제와 꽤 많이 겹친다. 혼인 관계의 비대칭성 당신은 프레임워크를 위해 대단히 큰 헌신을 해야 하지만, 프레임워크 제작자는 당신을 위해 아무런 헌신...
31. 웹은 세부사항이다 끝없이 반복하는 추 연산 능력을 중앙에 집중하는 방식과 분산하는 방식 사이에서 끝없이 움직인다. 애플리케이션을 보호하기 위해 업무 규칙을 분리해야 함 요약 GUI는 세부사항. 웹은 GUI. 따라서 웹은 세부사항 참조 클린 아키텍처(Clean Architecture)
30. 데이터베이스는 세부사항이다 아키텍처 관점에서 볼 때 데이터베이스는 엔티티가 아니다. 데이터베이스는 데이터에 접근할 방법을 제공하는 유틸리티일 뿐 관계형 데이터베이스 관계형 데이터베이스는 세부사항임 데이터가 테이블 구조를 가진다는 사실은 오직 아키텍처의 외부 원에 위치한 최하위 수준의 유틸리티 함수만 알아야 함 데이터베이스 시스템은 왜...
29. 클린 임베디드 아키텍처 소프트웨어는 닳지 않지만, 펌웨어와 하드웨어는 낡아 가므로 결국 소프트웨어도 수정해야 한다. 소프트웨어는 닳지 않지만, 펌웨어와 하드웨어에 대한 의존성을 관리하지 않으면 안으로부터 파괴될 수 있다. ROM에 상주하는 코드만이 펌웨어는 아니다. 무엇에 의존하는지, 그리고 하드웨어 발전에 맞춰 수정하기가 얼마나 어려운...
28. 테스트 경계 시스템 컴포넌트인 테스트 아키텍처 관점에서 모든 테스트는 동일 테스트는 태생적으로 의존성 규칙을 따른다. 의존성은 항상 테스트 대상이 되는 코드를 향함 시스템 내부의 어떤 것도 테스트에는 의존하지 않으며, 테스트는 시스템의 컴포넌트를 향해 항상 원의 안쪽으로 의존 테스트는 독립적으로 배포 가능 테스트는 시스템 컴포넌트 ...
27. ‘크고 작은 모든’ 서비스들 서비스 지향 아키텍처와 마이크로서비스 아키텍처는 최근에 큰 인기을 얻고 있는 이유 서비스를 사용하면 상호 결합이 철저하게 분리되는 것처럼 보인다. 사실 일부만 맞는 말 서비스를 사용하면 개발과 배포 독립성을 지원하는 것처럼 보인다. 사실 일부만 맞는 말 서비스 아키텍처 서비스 그 자체로는 아키텍처를...