티스토리 뷰

반응형

안녕하세요 :) Zedd입니다.

Reactive Programming에 대해서 글을 쓰고 있는데, 그 전에 패러다임과 디자인 패턴에 대해서 확실한 개념을 알고가는게 좋을 것 같아서요!

패러다임이 더 큰 ...큰...범위?라는 거는 알지만 Reactive Programming 글을 보시기 전에 보면 조흥ㄹ 것 같아서 씁니다.



 패러다임(Paradigm)

패러다임(영어: paradigm)은 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 테두리로서의 인식의 체계, 또는 사물에 대한 이론적인 틀이나 체계를 의미하는 개념이다. ~ 출처 위키백과 ~ 

위 정의가 "패러다임"의 정의고, 우리가 말할 것은 "프로그래밍 패러다임"입니다.

말그대로 프로그래밍에서의 패러다임을 의미해요. 

코드가 실제로 어떻게 배치되는지에 대한 "원칙"을 안내하며, 각각의 패러다임은 상당히 다른 사고방식을 적용해야합니다.


"프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해 주고, 결정하는 역할을 한다. 예를 들어 객체지향 프로그래밍은 프로그래머들이 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게 하는 반면에, 함수형 프로그래밍은 상태값을 지니지 않는 함수값들의 연속으로 생각할 수 있게 해준다."


한마디로, 프로그래밍 패러다임은 프로그래밍의 원칙이에요. 프로그래밍의 과정, 즉 프로그램이 만들어지는 방식을 설명해놓은 것이 프로그래밍 패러다임입니다. 



왕초보를 위한 <Reactive programming 뭔지 알기 전에>에서도 언급했듯이, Reactive programming은 "패러다임"입니다.




 디자인패턴(Design Pattern)

위에서 말했다 시피 패러다임은 프로그램 전체에 영향을 미치는, 프로그램이 만들어지는 방식이라면 디자인 패턴은 그에비해 훨씬 간단합니다.

디자인 패턴은 전체 구조를 손상시키지 않으면서, 주어진 상황에서 일반적으로 발생하는 문제에 대한 일반적인 재사용 가능한 솔루션입니다.

디자인 패턴은 프로그래머가 프로그램을 설계할 때, 공통적인 문제를 해결하는 데 사용할 수 있는 형식화된 best practices입니다.

흠 그래도 말이 어렵나요?? 한마디로 특정 문제를 해결하는데 도움이 되는 패턴입니다.

패러다임처럼 프로그램이 만들어지는 방식이 아니라, 문제를 해결하는데 사용되죠.

그래서 이 디자인 패턴은 정말 엄청나게 많고, 뭐 어떤게 정답이다!! 이런것도 없는 것 같아요.

예를들어, 우리가 잘 사용하는 싱글톤!! 이것도 디자인 패턴중에 하나에요. (싱글톤 패턴) 

또 많이 들어본 MVC, MVP, MVVM도 디자인 패턴입니다. 




이제 좀 뭔가 차이가 느껴지시나요?

틀린부분이나 개선되어야 할 부분은 댓글이나 PC화면 오른쪽 하단의 채널 서비스를 통해서 메세지 주시면 정말 감사하겠습니다.


오랜만에 글을 쓰는데, 여기서 공지아닌 공지를...

글이 잘 안올라오는 이유 : 시간이 없음 그리고 대충 쓰고싶지도 않고, 대충 썼다는거 자체가 내가 잘 모른다는 것이기 때문에 글 공개를 하기가 싫음

BGM없어진 이유 : 티스토리에 https가 적용되어서. ^_ㅠ..





반응형

'공부' 카테고리의 다른 글

App-architecture - Networking  (0) 2018.09.17
Apple Developer Program membership 갱신해보기  (4) 2018.09.11
Xcode 10 달라진 점  (5) 2018.08.09
Invalid username or password.  (2) 2018.08.07
Xcode ) Instruments - Navigate Collected Data  (0) 2018.05.07