[클린 아키텍쳐] 1장. 설계와 아키텍처란?
- Dev Book Review
- 2022. 1. 5. 20:30
설계와 아키텍처의 차이 -> 없다.
- '설계'는 저수준의 구조 또는 결정사항
- '아키텍처'는 저수준의 세부사항과 분리된 고수준의 무언가를 가리킴.
- '설계'와 '아키텍처'를 구분 짓는 것는 경계는 모호하다. 고수준에서 저수준으로 향하는 연속적인 의사결정이 있을 뿐..
- 즉, 대상 시스템의 구조를 정의
소프트웨어 아키텍처의 목표
소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다.
실례로, 초기 성장 모드에서는 개발자의 생산성이 큰 반면, 일정이상 성장의 상태가 된 후에는 생산성의 증가하지 않는다. 고용하는 개발자는 증가하는데, 생산성에는 변화가 없다.
경영진의 입장에서 보면, 답답할 노릇이다 비용은 증가하고 있는데, 생산성에는 변화가 없으니 말이다. 즉, 좋은 설계란 시스템의 수명이 다할 때까지 드는 비용을 최소화 할 수 있는 설계이다. 새로운 기능을 만들 때 마다.. 비용이 증가한다면 정말 나쁜 설계이다.
명심 하기.
많은 개발자들은 "코드는 나중에 정리하면 돼. 당장은 시장에 출시하는게 먼저야!"라고 말한다. 그런데 나중에 코드를 정리하는 경우는 거의없다. 시장의 압박은 지속되기 때문에..
엉망으로 만들면 깔끔하게 유지할 때보다 항상 더 느리다.
빨리 가는 유일한 방법은 제대로 가는 것이다.
'Dev Book Review' 카테고리의 다른 글
[Effective Java 3rd] item2. 생성자와 매기변수가 많다면 빌더를 고려하라. (0) | 2022.01.13 |
---|---|
[Effective java 3rd] item4. 인스턴스 화를 막으려면 private 생성자를 사용하라 (0) | 2022.01.12 |
[Inflearn] 스프링 프레임워크 핵심기술, 백기선 (0) | 2020.07.28 |
[Effective Java 3rd] Item10. equals는 일반규약을 지켜 재정의하라 (0) | 2020.03.08 |
[Effective Java 3rd] item 9. try-finally(JAVA6) 보다는 try-with-resources(JAVA 7)을 사용하라 (0) | 2020.03.08 |