UML
개발자와 고객이 필요로 하는 세부 내용을 소통하는데 사용되는 언어
단점 : 명확하지는 않다
상속 : 타 클래스를 기반으로 만들어지며, 중복되는 코드를 피할 수 있다.
다형성 : 서브 클래스가 슈퍼 클래스를 대신할 수 있도록 허용 -> 코드가 유연하고 쉽게 변경가능해진다.
캡슐화 : 프로그래밍 요소들을 더 크고, 더 추상적인 엔티티 안에 감싸는 프로세스, 정보 은닉, 관심의 분리
MVC
Model - View - Controller 패턴
모델은 소프트웨어 내에서 데이터를 의미, 뷰는 사용자에게 보이는 화면 내용, 모델과 뷰의 상호작용을 관리하는 것이 컨트롤러.
Model
- 데이터, 데이터 공급
- 프로토콜 (객체가 처리할 수 있는 메시지들의 규약)
1. 데이터 소스 및 델리게이트가 어떤 메시지에 응답해야하는지 정의
- 콜백 메서드 구현
- 데이터소스 (컨트롤에게 데이터를 제공)
1. 컨트롤과 데이터 사이에서 다리 역할.
2. 컨트롤 요청 -> 데이터 제공 (델리게이터가 처리방법 제공)
3. 컨트롤-데이터 소스-델리게이트 패턴은 뷰-뷰컨트롤러 관계와 비슷
4. 실제 데이터는 데이터베이스, 프로퍼티 리스트, 이미지 파일 등 다양한 곳에 정장
- 델리게이트 (다른 객체들이 처리할 것 중 일부를 대신 처리하는 객체)
1. UI 컨트롤이 처리해야할 것을 담당
2. 데이터를 저장하거나 화면에 표시하는 등의 처리를 주로 담당
- UIApplication 객체
View
- 데이터를 사용자에게 보여주는 화면
- IBOUTLET
1. IB(인터페이스빌더)를 통해 혹은 그냥 구현
2. 컨트롤과 연결(IBOutlet을 통해 코드와 UI요소를 연결)
3. 파일 소유자 객체와 메서드를 연결
- IBACTION : 이벤트의 처리를 위해서 호출될 수 있는 메서드임을 알려주는 표시
- NIB : 뷰를 생성하기 위해서 사용되는 파일의 이름 NIB(xib) 파일 (로드 시 UI객체에 대한 참조를 얻어온다)
- UIView 상속하는 클래스. UIWindow addSubView
- 뷰가 작동하도록 하는 것은 코드
UIViewController
- View를 가지고 있는 Control (View 클래스를 상속받음) : View와 Control 의 경계가 모호
- 뷰 핸들러 역활
Control
- 데이터의 입력이나 가공, 출력을 지시하는 객체
- UI객체들은 대부분 View의 기능을 동시에 가지고 있는 객체. -> View없이 Control만으로 화면을 구성 가능
- ??
1. 델리게이션
2. 타겟 - 액션
3. 노티피케이션
컨트롤러의 역할
관련포스트
'컴퓨터공학 > 프로그래밍' 카테고리의 다른 글
파이썬 언어 특징, 개발 환경과 패키지 (96) | 2024.04.17 |
---|---|
블록 코딩 플랫폼 소개 - 스크래치, 엔트리 (16) | 2023.02.21 |
파이썬 | 반복문(while, for) 조건문 (6) | 2022.11.15 |
템플릿 언더바 (Template_) 기초 (0) | 2021.06.10 |
프로그래밍 언어 공통 기초 지식 (0) | 2020.12.08 |
PHP | 소스 그대로 보일 경우 해결방법 (2) | 2020.10.19 |
C# | ref. 언어참조 : 키워드와 데이터 형식 (0) | 2020.02.07 |
C# | ref. 프로그래밍 가이드 (0) | 2020.02.07 |
댓글