posted by 네코냥이 2013. 2. 4. 00:31

본 글은 아래의 책에서 참고된 내용입니다. 

Sams Teach Yourself iOS 6 Application Development in 24 Hours, 4th Edition




 이 글은 본인이 공부하려고 포스팅하는 것이다.

아직 아이폰 프로그래밍은 경험이 없으며 (간단히 예제정도는 돌려봤지만,)

배우고자 하는 것을, 참고하는 책의 내용과 함께 서술할 뿐이다.



아이폰에서 어떻게 MVC 패턴을 구현할까 궁금하다.

대강 프로젝트 생성 햇을 때, 폴더나 파일 구조를 보니 MVC 패턴 아닐까 추측은 해보았다.

(대강의 작동이나 코딩 방식이 그럴꺼라고 생각됬다.)



Understanding the Model-View-ControllerDesign Pattern   


  When you start programming, you’ll quickly come to the conclusion that there is more than one 

“correct” way to do just about everything.


 This doesn’t mean, however, that adding structure to the development process is a bad idea.


  The application design approach that you’ll be using in iOS is known as Model-View-Controller 

(MVC), and it can help you create clean, efficient applications.



Making Spaghetti   


또 재미있는 소제목이 나왔다. ㅋㅋ


(본인은 웃기다고 생각하지만, 집필자의 의도는 조크가 아니었다라고 하면, 살짝 걱정이 된다.)


 위의 제목은 예상과 달리 MVC에 관한 비유가 아니었다.



  Before we get into MVC, let’s first talk about the development practice that we want to avoid, and why. When creating an application that interacts with a user, several things must be taken 

into account. First, the user interface (UI). You must present   something   that the user interacts 

with: buttons, fields, and so on. Second, handling and reacting to the user input. And third, the 

application must store the information necessary to correctly react to the user (often in the form 

of a database).


  One approach to incorporating all these pieces is to combine them into a single class. 

The code that displays the interface is mixed with the code that implements the logic and the code that handles data.


X              When code is mixed together, it is difficult for multiple developers to work together 

X            The interface, application logic, and data are unlikely to be reusable in other applications 

X        The application is difficult to extend.


  In short, mixing code, logic, and data leads to a mess. 



Structured Application Design with MVC   


MVC에 대한 간단한 개념 설명정도 되겠다. (슬슬 공부하기도 짜증나짐...)


MVC defines three parts of an application:   


 A model   provides the underlying data and methods that offer information to the rest of 

the application. The model does not define how the application will look or how it 

will act.     


One or more   views make up the UI. A view consists of the different onscreen widgets (but-

tons, fields, switches, and so forth) that a user can interact with.     


A controller   is typically paired with a view.

 In short, it bridges the MVC components and provides the “brains” of the application. 

(두뇌로 비유했는데, 내 생각엔 신경계가 더 좋은 비유 아닐까 한다.)



이런 설명 뒤에, MVC가 어떻게 작동할까 이런 의문을 품게 되는데, 

걱정할 필요가 없다고 한다.


  In Xcode, MVC design is natural. As you create new projects and start coding, you are guided 

into using MVC design patterns automatically. 


 우리는 자연스럽게 MVC 패턴을 이용하게 될꺼라 한다. 

(흐... 프로젝트를 생성했을 때의 복선이 옳았군...)





    How Xcode Implements MVC   


이건 다음 소단원 제목이다.

이건 다음 강의로... ( Xcode에서 어떻게 MVC를 운용하는가? )