사상 - 프로그래밍 이데올로기아키텍처 기본 기법패키지화모듈을 의미있는 단위로 모운후 그룹핑 한다.
소프트웨어 전체가 패키지라는 작은 단위로 분활되므로 복잡도가 낮아진다
패키지 않에 관련 없는 모듈이 섞이지 않으므로 모듈을 관리하기 쉽다.
수정에 대한 영향도가 패키지 ...
사상 - 프로그래밍 이데올로기아키텍처 기본 기법좋은 코드의 기초원리
추상
캠슐화
정보 은닉
패키지화
관심의 분리
충족성, 완정성, 프리미티브성(원시성, 순수성)
정책과 구현의 분리
인터페이스와 구현의 분리
참조의 단일성
분활정복
좋은코드에는 패턴이 있다.
추상추상이 ...
원칙 프로그래밍 가이드 라인OCP(Open-Closed Principle)코드는 확장에 열려 있고 수정에 대해서는 닫혀있는 2가지 속성을 동시에 충족하도록 설계한다.확장에 대해서 열려있다는 말은 코드의 동작을 확장할 수있다는 의미이다.수정에 대해서 닫혀 있다는 말은 코 ...
원칙 프로그래밍 가이드 라인SLAP(Single Layer of Abstraction Principle)추상화 수준의 통일
코드수준을 맞춘다.
코드에서 추상화 수준을 분리할 때는 상하 2계층이 아니라 기능 복잡도에 따라서 여러계층으로 분리된다.각각의 계층에서 자신의 계 ...
원칙 프로그래밍 가이드 라인PIE(Program Intently and Expressively)의도를 표현해서 프로그래밍 해라.
코드는 컴파일러가 아닌 사람이 읽기 위한것이다. 그래서 어떻게 하면 다른사람이 잘 이해하게 직관적으로 코딩하자.
코드는 소프트웨어 동작을 정 ...
circuit-breaker소프트웨어에 대한 복잡도가 높아지면서서비스에서 다른서비스를 호출하는 형태(예를들면 MSA 형태로 구성되어 API들을 호출하는 형태)들이보편화 되어 서비스 되고 있다.
응용프로그램을 만들때 환경에서 발생할 수 있는 일시적 장애에 민감해야 된다 ...