스터디/클린아키텍처

[클린 아키텍처] 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

 

반응형