Hi yoahn 개발블로그

[클린 아키텍처] 3부 설계원칙 본문

스터디/클린아키텍처

[클린 아키텍처] 3부 설계원칙

hi._.0seon 2023. 8. 20. 17:34
반응형

깔끔하지 않은 코드를 쓰면 아키텍처가 좋아도 의미가 없고,

깔끔한 코드를 사용하더라도 아키텍처가 나쁘면 의미가 없다.

 

SOLID

좋은 코드로 좋은 아키텍처를 정의하기 위한 원칙

목적

중간 소프트웨어의 구조가

  • 변경에 유연하다.
  • 이해하기 쉽다
  • 많은 SW 시스템에 사용될 수 있는 컴포넌트의 기반이 된다.

중간수준

모듈 수준에서 작업할 때 적용할 수 있다는 것

코드 수준보다는 상위 수준에서 적용되며 모듈과 컴포넌트 내부에서 사용되는 소프트웨어 구조를 정의하는데 도움

 

2023.08.20 - [Computer Engineering] - 7장 SRP: Single Responsibility Principle 단일 책임 원칙

 

7장 SRP: Single Responsibility Principle 단일 책임 원칙

콘웨이 법칙에 따른 따름정리: 소프트웨어 시스템이 가질 수 있는 최적의 구조는 시스템을 만드는 조직의 사회적 구조에 영향을 받는다. 각 소프트웨어 모듈은 변경의 이유가 단 하나여야 한다.

hi0seon.tistory.com

2023.08.20 - [스터디/클린아키텍처] - 8장 OCP: Open-Closed Principle 개방-폐쇄 원칙

 

8장 OCP: Open-Closed Principle 개방-폐쇄 원칙

소프트웨어 개체는 확장에는 열려있어야 하고, 변경에는 닫혀 있어야 한다. 개체의 행위는 확장할 수 있어야 하지만, 개체를 변경해서는 안된다. 기존 코드를 수정하기 보다는 새로운 코드를 추

hi0seon.tistory.com

2023.08.20 - [스터디/클린아키텍처] - 9장 LSP: Liskov Substitution Principle 리스코프 치환 원칙

 

9장 LSP: Liskov Substitution Principle 리스코프 치환 원칙

하위 타입에 관한 원칙 상호 대체 가능한 구성요소를 이용해 소프트웨어 시스템을 만들 수 있으려면, 이들 구성 요소는 반드시 서로 치환 가능해야 한다. S 타입 객체 o1 각각에 대응하는 T 타입

hi0seon.tistory.com

2023.08.20 - [스터디/클린아키텍처] - 10장 ISP: Interface Segregation Principle 인터페이스 분리 원칙

 

10장 ISP: Interface Segregation Principle 인터페이스 분리 원칙

소프트웨어 설계자는 사용하지 않은 것에 의존하지 않아야 한다. 가정: user1 은 op1 을, user2 는 op2 를, user3 는 op3 만을 사용한다 OPS 가 정적 타입 언어 클래스라면, User 는 사용하지 않는 메서드에

hi0seon.tistory.com

2023.08.20 - [스터디/클린아키텍처] - 11장 DIP: Dependency Inversion Principle 의존성 역전 원칙

 

11장 DIP: Dependency Inversion Principle 의존성 역전 원칙

고수준 정책을 구현하는 코드는 저수준 세부사항을 구현하는 코드에 절대로 의존해서는 안된다. 세부사항이 정책에 의존해야 한다. 유연성이 극대화된 시스템이란? 소스 코드 의존성이 추상에

hi0seon.tistory.com

 

반응형
Comments