일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리펙토링
- 스위프트
- Human interface guide
- UITextView
- collectionview
- 리펙터링
- 리팩토링
- rxswift
- 애니메이션
- ribs
- clean architecture
- ios
- combine
- Clean Code
- Observable
- UICollectionView
- MVVM
- swift documentation
- map
- Protocol
- HIG
- SWIFT
- Refactoring
- Xcode
- swiftUI
- uitableview
- uiscrollview
- 클린 코드
- tableView
- RxCocoa
- Today
- Total
목록SRP (5)
김종권의 iOS 앱 개발 알아가기
Protocol 지향 프로그래밍이란? 특정 기능이 필요하여 기능을 구현하려고 할 때, protocol을 먼저 선언해 놓고 그 protocol을 준수하는 구현체를 생성하여 사용 기존 기능을 그대로 사용하면서 새로운 기능을 추가하려고 할 때, 상속보다는 protocol을 사용하여 확장하는 형태로 구현하는 것 Protocol 지향 프로그래밍을 해야하는 이유 DIP (Dependency Inversion Principle): 소스코드 의존성이 구현체에 의존하지 않고 추상(protocol)에 의존하는 것 DIP 구체적인 개념은 이전 포스팅 글 참고 기능제공(=확장성) 확장성이라는 의미는 개발자가 코드를 작성할 때 매우 자연스럽게 사용이 가능 사용하는쪽에서 매우 자연스러움 -> 프로토콜을 준수한다 -> 기능을 준수..
클린한 클래스 작성하는 방법 * 아래에서 해당 개념 설명 예정 SRP 준수: 클래스의 변경 이유는 한가지가 되도록 설계 Cohesion 준수: 인스턴스 변수를 최소화 클래스는 작게 만들 것 함수에서의 클린 코드 내용과 같이 클래스 역시도 작아야 가독성, 유지보수에 이점이 있는 코드 함수에서는 내용의 길이를 행의 수 20줄도 긴 수치라고 했었지만, 클래스는 맡은 책임의 개수를 보고 판단 클래스의 책임의 개수 판단 메소드의 개수는 5개 이하가 적정 클래스 이름은 해당 클래스 책임을 기술하는 최소의 범위로 작성 (Manaer, Processor가 붙으면 해당 클래스에서 여러 책임을 떠안겼다는 증거) ex) 책임이 많은 클래스 WRONG - 메소드의 개수는 5개 이지만, SuperDashboard이름에서 Sup..
0. 코드로 알아보는 SOLID - 클래스 다이어그램 필수 표현 1. 코드로 알아보는 SOLID - SRP(Single Responsibility Principle) 단일 책임 원칙 2. 코드로 알아보는 SOLID - OCP(Open Close Principle) 개방 폐쇄 원칙 3. 코드로 알아보는 SOLID - LSP(Liskov Substitution Principle) 리스코프 치환 원칙 4. 코드로 알아보는 SOLID - ISP(Interface Segregation Principle) 인터페이스 분리 원칙 5. 코드로 알아보는 SOLID - DIP(Dependency Inversion Principle, testable) 의존성 역전 원칙 6. 코드로 알아보는 SOLID - Coordinato..
SRP 개념 개념: 하나의 *모듈은 오직 하나의 *액터에 대해서만 책임져야한다는 원칙 * 액터(actor): 해당 변경을 요청하는 한 명 이상의 사람을 지칭 * 모듈: 함수와 데이터 구조로 구성되어 응집된(cohesion) 집합 잘못된 SRP의 의미 주의 잘못된 개념1: 모든 모듈이 단 하나의 일만 해야한다는 잘못된 개념 -> 모든 모듈이 단 하나의 일만 해야한다는 개념은 '함수'의 정의 잘못된 개념2: 하나의 모듈은 오직 하나의 사용자 또는 이해관계자에 대해서만 책임 -> 시스템이 동일한 방식으로 변경되기를 원하는 사용자나 이해관계자가 두 명 이상일 수 있기 때문에 잘못된 개념 SRP는 메서드와 클래스 수준의 원칙이며, 이보다 상위 수준인 컴포넌트 수준은 공통 폐쇄 원칙(Common Closure Pr..
Architecture vs SOLID Architecture는 빌딩, SOLID는 좋은 벽돌 SOLID를 통해서 좋은 아키텍처를 정의 SOLID: 함수와 데이터 구조를 클래스로 배치하고, 이 클래스들을 결합하는 방법에 대한 이론 cf) architecture vs design pattern vs SOLID architecture: 프로그램 내에서 큰 구조로 구성되어 다른 구성 요소들을 관리 방법으로 넓은 개념 design pattern: 특정 유형의 문제를 해결하는 방법으로 좁은 개념 SOLID: design pattern은 특정 문제 유형을 해결하는 개념이고, SOLID는 아키텍처를 위하여 세부 구조를 어떻게 배치하고 결합하는지에 관한 개념 SOLID의 목적 변경에 유연 이해하기 쉬움 많은 소프트웨어..