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
- Observable
- collectionview
- Refactoring
- swiftUI
- uiscrollview
- 스위프트
- 애니메이션
- rxswift
- ribs
- Clean Code
- SWIFT
- 리펙토링
- tableView
- HIG
- uitableview
- clean architecture
- 리팩토링
- RxCocoa
- 리펙터링
- UICollectionView
- UITextView
- swift documentation
- Xcode
- map
- Protocol
- MVVM
- combine
- Human interface guide
- 클린 코드
- ios
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[Clean Architecture] 2. 두 가지 가치(behavior, architecture) 본문
Clean Architecture/Clean Architecture 기초
[Clean Architecture] 2. 두 가지 가치(behavior, architecture)
jake-kim 2021. 2. 27. 00:10행위(behavior)
- 요구사항을 기계에 구현하고 버그를 수정하는 일이 개발자의 모든 일이 아님을 깨닫는게 중요
- 개발자를 고용하는 이유는 이해관계자를 위해 기계가 수익을 창출하거나 비용을 절약하기 위함
- 곧 이해관계자가 기능 명세서나 요구사항 문서를 구체화할 수 있도록 돕는 임무를 포함
아키텍처(architecture)
- 핵심은 'sofrware': 부드러운(soft) 제품(ware)
- 소프트웨어는 부드러움을 지니도록 구성 - 기계의 행위를 쉽게 변경할 수 있도록 하기 위함
- 부드럽다는 의미는 변경하기 쉬워야하며 이해관계자가 기능에 대한 생각을 바꾸면 변경사항을 간단하고 쉽게 적용할 수 있어야함
- 변경사항을 적용하는 데 드는 어려움은 변경되는 형태와는 관련이 없어야하며, 범위에 비례해야함
ex) 잘못개발 사례: 기획자가 어떤 기능에 대해서 변경을 요청했을때, 기획자가 말한것들이 퍼즐 조각을 맞추라는 지시것처럼 느껴진다면 잘못된 structure
핵심은 제품에만 있는것이 아닌 이해관계자와의 협업
- 결국 개발자는 이해관계자와의 소통에도 역할이 있으며,
- 아키텍처는 형태에 독립적이어야함 (soft)
행위와 아키텍쳐의 차이
- 개발자가 처한 두 가지 상황: 긴급 한 일, 중요한 일
- "긴급한 문제는 중요하지 않으며, 중요한 문제는 절대 긴급하지 않음"
- '행위'는 긴급하지만 매번 높은 중요도를 가지는 것이 아니고, '아키텍처'는 중요하지만 즉각적인 긴급성을 필요로 하는 경우는 없음
- 개발팀의 임무는 기능의 긴급성이 아닌 아키텍처의 중요성을 설득하는 일
개발자는 아키텍처를 위한 투쟁이 필요
- 소프트웨어를 안전하게 보호해야 할 책임을 인식하고 '투쟁'해야함
- 시스템이 제공하는 특성이나 기능보다는 시스템의 구조에 더 중점을 두는 것
- 개발하기 쉽고, 간편하게 수정할 수 있으며, 확장하기 쉬운 것
* 출처: clean architecture
'Clean Architecture > Clean Architecture 기초' 카테고리의 다른 글
[Clean Architecture] 6. 함수형 프로그래밍 (0) | 2021.03.24 |
---|---|
[Clean Architecture] 5. 객체 지향 프로그래밍 (Object-Oriented Programming), 의존성 역전 (0) | 2021.03.12 |
[Clean Architecture] 4. 구조적 프로그래밍 (structured programming), 테스트 코드가 중요한 이유 (0) | 2021.03.06 |
[Clean Architecture] 3. 패러다임 개요 (구조적, 객체지향, 함수형) (0) | 2021.03.05 |
[Clean Architecture] 1. 설계(design)와 아키텍처(architecture)란? (0) | 2021.02.25 |
Comments