[Dart] 설계 원칙

김동욱·2023년 12월 19일
0

좋은 코드를 위해 의식해야할 6가지 원칙
1. DRY(Don't Repeat Yourself)
2. PIE(Program Intently and Expressively)
3. SRP(Stable Dependencies Principle)
4. OCP(Open Closed Principle)
5. SDP(Single Responsibility Principle)
6. ADP(Acyclic Dependencies Priciple)

DRY(Don't Repeat Yourself)

중복코드가 있다면 메소드로 분리

PIE(Program Intently and Expressively)

명확하게 기술
애매한 이름으로 혼란 방지
컨벤션을 따를것 ref 1, 2
매직넘버 이름 사용 ref 3

SRP(Single Responsibility Principle)

1개의 클래스는 1개의 책임 및 일만
하나의 에러 수정을 위해서는 해당 클래스만 수정
역으로 클래스 분리가 심하면 관리가 어려움

OCP(Open Closed Principle)

자유로운 확장
의존부분 변경 불필요
인터페이스 적극 활용 확장 가능

SDP(Stable Dependencies Principle)

수정될 가능성이 낮은 클래스에 의존
안전한 것에 의존

ADP(Acyclic Dependencies Principle)

의존성 비순환 원칙
의존 관계간의 사이클 발생 방지

DI(Dependency Injection)

일명 의존성 주입
생성자를 통해 테스트 가능한 종속 항목 삽입
객체 간의 의존성을 외부에서 주입하여 코드의 유연성과 테스트 용이성을 향상시키는 디자인 패턴

ref)
1. "Effective Dart: Style | Dart", 23.12.19, https://dart.dev/effective-dart/style
2. "Effective Dart: Design", 23.12.19, https://dart.dev/effective-dart/design
3. "Magic number (programming) - Wikipedia", 23.12.19, https://en.wikipedia.org/wiki/Magic_number_(programming)
4. "Dependency Injection In Flutter. Introduction | by Zubair Rehman | Flutter Community | Medium", 23.12.19, https://medium.com/flutter-community/dependency-injection-in-flutter-f19fb66a0740
5. "Dependency Injection in Flutter - DEV Community", 23.12.19, https://dev.to/alvbarros/dependency-injection-in-flutter-598k

profile
백엔드 개발자

0개의 댓글