일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 언덕오르기탐색
- 프로그래밍
- 시험공부
- 한국방송통신대학교
- 균일비용탐색
- 정보처리기사
- 린소프트웨어개발론
- 린개발론
- 컴퓨터과학개론
- A* 알고리즘
- 방통대
- 정처기준비
- 프로그래밍언어패러다임
- 프로그래밍패러다임
- 검증테스팅
- 결함테스팅
- 결함테스팅검증테스팅차이
- 비전공자
- 개발자
- 모바일앱프로그래밍
- 소프트웨어공학
- 수제비
- 테스팅원리
- 공부하는직장인
- 정보처리산업기사
- kiss원칙
- 정처기
- 컴퓨터과학과
- 소프트웨어테스트
- 정의
- Today
- Total
우와테크
자습하다가 찾게 되는 '프레임워크' FrameWork 1 정의, 특징 본문
내가 눈에 안보이는 걸 공부하자니 상상할만한 대체품이 필요하다. 상상해봤다.
프레임 워크?
>>>그릇이다.
소프트웨어 개발할 때 복잡한 문제를 해결하거나 서술하는데 사용되는 기본 개념 구조 라고 정의한다.
>>>소프트웨어 개발은 내 직업이고
>>>복잡한 문제를 해결하거나 서술하는 것은 회사에서 나한테 준 일거리이다.
>>>이 일거리들을 담아내는 그릇이다.
이 그릇(Framework)는 특징이 있다.
1. 모듈화 : 프레임워크는 구현을 인터페이스 뒤에 감추는 캡슐화를 통해 모듈화를 강화한다.
>>>암산 같은거다. 눈높이 학습지에 나오는 네개 숫자를 더하는 문제가 있다고 치자.
>>>1+2+3+4 =? 과 같은 문제다. 난 그 학습지에 1+2=3 -> 3+3=6 -> 6+4=10이라고 쓰지 않고
>>>암산으로 계산하여 숫자 10만 적었다 치자.
>>>나는 '복잡한 문제를 해결하거나 서술하는 것'을 내 머리 속에 감추고 암산을 통해 답을 구했다.
>>>모듈화는 좀 다른 얘기다. 우와처럼 덧셈 암산을 잘하는 사람을 합계 구하는 업무에 배치하고
>>>곱셈 암산을 잘하는 사람을 다른 업무에 배치하는 것 처럼
>>>'뭉치' = 모듈
>>>어떤 문제를 해결하거나 서술하는 '뭉치'를 해당 문제에 배치하는 것이다.
: 또한 프레임워크 모듈화는 설계와 구현의 변경에 따른 영향을 최소화 시킴으로써 쉽게 소프트웨어 품질을 향상시킬 수 있다.
>>>소프트웨어 품질은 다음에 자세히 다루도록하고... 품질이 좋은건 무튼 좋은거다. 좋다이거야.
>>>문제를 해결하는 '뭉치' 형태로 소프트웨어를 개발하면 그 '뭉치'안에 있는 알맹이만 따져서 보면 된다.
>>>육수를 내려고 삼베주머니안에 재료를 넣은 '뭉치'가 있다 치자.
>>>멸치 '뭉치'와 새우 '뭉치', 대추'뭉치' 로 끓은 육수 맛을 바꾸기 위해 다음에는 대추'뭉치'를 빼려고 한다.
>>>'뭉치'가 없다면 멸치와 새우와 대추가 섞여 있는 삼베주머니 안에서 대추를 일일히 분리해서 빼야 한다.
>>>육수맛을 바꾸는 것에 따른 귀찮음을 최소화 했다.
2. 재사용성 : 프레임워크가 제공하는 인터페이스는 여러 애플리케이션에서 반복적으로 사용할 수 있는 일반적인 컴포넌트를 정의할 수 있게 함으로써 재사용성을 높여준다.
>>>나는 카페사장이다. 내 카페에는 원두와 우유와 바닐라 시럽과 생크림이 있다.
>>>이 네가지 재료로 만들 수 있는 메뉴를 만든다.
>>>여러 손님이 주문하는 음료를 반복적으로 사용할 수 있는 일반적인 메뉴를 만들 수 있게 함으로써 재사용성을 높여준다.
: 프로그래머의 생산성을 상당히 높여준다.
>>>카페 음료를 만드는 생산성을 상당히 높여준다.
'c#-visualStudio' 카테고리의 다른 글
c# DataTable 쓰는데 어디서 오류 나는지 모를 때 읽어보는 글. (0) | 2023.03.06 |
---|---|
Winform) DevExpress17.1 과 지원 VisualStudio 버전 (0) | 2022.10.21 |
자습하다가 찾게 되는 '프레임워크' FrameWork 2 .NET framework vs .NET Core (0) | 2022.01.11 |