하루를살자

Clean code 본문

Architecture

Clean code

Kai1996 2022. 6. 10. 02:21

Uncle Bob 은 "어떠한 건물의 설계도면만 봐도 이건물의 기능을 알수 있어야한다" 라는 말을 하면서  실제 건축학 으로부터 영감을 받아 소프트웨어 개발 에 접목시켰다고한다. 

 

이 건축 패턴을 "Clean Architecture" 라고 명하였고, 이 패턴을 사용하면 개발자들은 새로운 기능을 추가하거나, 버그를 고칠때 더이상 자신들이 작성한 얽히고 설킨 코드를 되짚어가며 시간을 낭비할 필요가 없어질것 이라고 하였다. 

 

도대체 어떻게 그런 설계를 할수 있지? 라는 의문이 드는데, Uncle Bob 은 clean architecture 의 핵심 포인트를 아래와같이 설명한다. 

  • Framework 로 부터 독립적 이여야 한다. 
    • 자신이 만든 시스템은 라이브러리 를 하나의 도구로 사용해야한다. 절대로 주어진 라이브러리의 기능에 의지하고 있으면 안된다. 자신의 시스템의 한계가 사용하고 있는 라이브러리의 한계 가되어서는 안되기 때문이다.
  • 테스트가 가능해야한다. 
    • 비즈니스 로직들은 외부 인터페이스(db / server) 의 간섭없이 테스트가 가능해야한다. 
  • 인터페이스 로 부터 독립적 이여야 한다. 
    • 인터페이스는 시스템을 많이 건드리지않고 손쉽게 바뀔수 있어야한다. (ex: 앱 화면에 비추는 데이터들을 콘솔에 찍기 위해 비즈니스로직 를 바꿀 필요가 없어야한다)
  • 데이터 베이스 로 부터 독립적 이여야 한다.
    • 비즈니스 로직은 특정한 DB 와 강하게 결합되어 있지 않아야한다.

 

앞으로 Clean Architecture 를 공부하고 iOS 에서 Clean Architecture + MVVM 를 사용하는 방법도 있다고 해서 포스트를 올려볼 예정이다. 

 


https://rubygarage.org/blog/clean-swift-pros-and-cons#article_title_1

 

Clean Swift Architecture: Is It Really Good for Your App?

Сlean Swift is gradually replacing existing architectural patterns. Yet it doesn’t fit all types of projects. Our latest post features the basics of the Clean Swift architecture, its advantages and disadvantages, and the types of projects that work well

rubygarage.org

https://www.raywenderlich.com/29416318-getting-started-with-the-vip-clean-architecture-pattern

 

Getting Started With the VIP Clean Architecture Pattern

In this tutorial, you’ll learn how to utilize the VIP clean architecture pattern to develop apps for Apple platforms while building a SwiftUI for ordering an ice cream.

www.raywenderlich.com

 

 

 

Comments