Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Clean Code
- Observable
- rxswift
- MVVM
- ribs
- tableView
- SWIFT
- 리펙터링
- swiftUI
- Xcode
- 리펙토링
- uiscrollview
- uitableview
- 클린 코드
- Protocol
- Refactoring
- map
- 애니메이션
- swift documentation
- 스위프트
- UICollectionView
- ios
- combine
- UITextView
- 리팩토링
- collectionview
- clean architecture
- HIG
- Human interface guide
- RxCocoa
Archives
- Today
- Total
목록Liskov Substitution (1)
김종권의 iOS 앱 개발 알아가기
[Clean Architecture] 10. SOLID 원칙 - LSP (Liskov Substitution Principle)
LSP 부모 클래스의 객체 대신에 자식 클래스의 객체로 치환해도 프로그램의 행위에 변화를 주지 않아야 한다는 원칙 자식 클래스 or 구현체를 만들 때, 상위 타입의 객체로 치환해도 문제가 없는지 파악해야 한다는 의미 인터페이스를 구현한 구현체 역시도 LSP원칙을 준수 목적: 치환 가능성을 조금이라도 위배하면, 추후 상당량의 별도 메커니즘이 필요 정사각형 - 직사각형 문제 사각형의 하위 타입으로 정사각형으로 구성하면 LSP위배 User입장에서는 Interface인 Reactangle의 성격을 생각하고 사용하지만, Square에서의 성격이 다른경우가 존재하면 오류 발생 그 오류를 해결하기 위해서는 상당량의 별도 매커니즘이 User에 필요하게 되는 악순환 발생 예시) setH, setW 호출 후 넓이 계산하는..
Clean Architecture/Clean Architecture 기초
2021. 6. 21. 22:46