[번역] Flutter + S.O.L.I.D for high-quality mobile apps

Mark Choi
3 min readApr 27, 2023

SOLID: 코드를 유지보수에 용이하게 스케일링이 가능하게 만드는 디자인 원칙.

솔리드 원칙은 소프트웨어가 유연하고 수정하기 쉽게 만들고 버그나 오류를 방지하는데 도움이 된다. 솔리드는 소프트웨어 개발에서 널리 사용되며 코드 품질을 향상시키고 개발 시간을 줄이는 데 효과적으로 적용되었다.

Flutter로 개발할때 SOLID원칙을 함께 적용하면 앱을 만들 때 한층 더 깔끔한 코드를 짤 수 있지 않을까?
모듈식, 유지보수 가능하고 확장 가능한 코드가 만들어진다. 그래서 테스트와 디버그가 쉬운 코드를 만들 수 있다.

이제, Flutter와 SOLID의 관련성과 SOLID 원칙을 Flutter 프로젝트에 적용하여 더 나은 유지보수 가능한 코드를 만드는 방법을 살펴보자!

Flutter와 SOILD 궁합?

플러터는 사실 모듈식 및 재사용 가능한 구성 요소를 쉽게 만들 수 있도록 되어있다는 것은 플러터를 초급단계만 떼어도 아는 사실이다. 이는 SOLID과 추구하는 방향과도 유사하다. 솔리드를 인지하면서 개발하게 되면 사용하면 더 좋은 앱을 만들 수 있을 것이라고 생각한다. 또한, 모듈들을 더 작고 알맞은 구성 요소로 분해함으로써 나 말고도 다른 개발자들도 함께 작업시에 더 쉽게 이해하고 수정하고 테스트할 수 있는 코드를 만들 수 있다.

  1. SRP(단일 책임 원칙):
    SRP(Single Responsibility Principle)는 개발자가 하나의 책임만 있는 클래스 또는 모듈을 만들도록 권장한다. Flutter에서 예를 들면 사용자 입력을 처리하는 위젯이나 데이터를 표시하는 위젯 같이 특정하고 집중된 역할이 있는 위젯을 만드는 것을 의미할 수 있겠다.

2. OCP(개방형 원칙):
OCP(Open-Closed Principle)는 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 한다는 객체 지향 설계의 원칙이다. 즉, 기존 코드를 수정하지 않고도 새로운 기능을 쉽게 추가할 수 있는 방식으로 코드를 설계하기 위해 노력해야 한다는 원칙!

3. LSP(리스코프 치환 원리):
LSP(Liskov Substitution Principle)는 하위 유형의 모든 인스턴스가 프로그램의 정확성에 영향을 주지 않고 상위 유형의 인스턴스 대신 사용될 수 있어야 한다!

4.ISP(인터페이스 분리 원칙):
ISP(인터페이스 분리 원칙)는 클래스가 사용하지 않는 메서드에 강제로 의존해서는 안된다!

5.DIP(종속 역전 원리):
DIP(Dependency Inversion Principle)는 상위 수준 모듈이 하위 수준 모듈에 의존해서는 안 된다. 둘 다 추상화에 의존해야 한다!

원문 : https://medium.com/@maleksouissi751/flutter-s-o-l-i-d-for-high-quality-mobile-apps-fdcb04109c94

--

--