클래스
단일 책임 원칙(SRP) 지키기
// as-is
class Store { // Store 클래스가 많은 역할을 혼자 수행한다.
func cummunicateUser() { }
func manageProducts() { }
func manageMoney() { }
}// to-be
class CounterManager {
func communicateUser() { }
}
class ProductManager {
func manageProducts() { }
}
class Owner {
func manageMoney() { }
}
class Store {
let counterManager: CounterManager
let productManager: ProductManater
let owner: Owner
func sellProduct() {
counterManager.communicateUser()
// code
}
// code...
}응집도를 높이자.
변경하기 쉽게 만들자 (open closed)
Last updated