Changes between Version 2 and Version 3 of UNPLANNED_CORE_MVC_BASE_R0


Ignore:
Timestamp:
10/13/08 15:53:05 (17 years ago)
Author:
peko
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UNPLANNED_CORE_MVC_BASE_R0

    v2 v3  
    22 
    33= Analysis = 
    4 ^(The purpose of the analysis is to give as much as possible of the needed information for designing and implementing the task.)^ 
    54 
    65== Overview == 
    7 ^(The analysis of the first revision of each task should contain a brief overview of the whole task. Stick to the current revision of the task, but keep an eye to the whole task progress, and stay alert for possible smells.)^ 
     6 * The Model-View-Controller(MVC) pattern will be used in the development process of Sophie 2. All the necessary rules about MVC in the development process should be defined. 
    87 
    98== Task requirements == 
    10 ^(Necessary requirements that the task must fulfill.)^ 
     9 * The document should provide: 
     10  * General rules about MVC. 
     11  * List of the base classes needed.(class diagrams can be made) 
     12  * Docs and tutorials about implementing MVC (especially in Sophie 2). 
     13  * Rules to check whether the code complies to the pattern. 
    1114 
    12 == Task result == 
    13 ^(The Analysis should contain strict requirements about the end product of the task (for example the result must be source code, the result must be google doc, etc.))^ 
     15== Task Result == 
     16 * The result of this task should be a wiki page where all of the rules are written. 
    1417 
    1518== Implementation idea == 
    16 ^(It is advisable to include some rough implementations ideas.)^ 
     19 * Old wiki can be useful. 
     20  * [[http://asteasolutions.net/mediawiki/index.php/Sophie-JR-MVC-Pattern Sophie-JR-MVC-Pattern]] 
     21  * [[http://asteasolutions.net/mediawiki/index.php/Sophie-JR-MVC-Refactoring Sophie-JR-MVC-Refactoring]] 
     22  * [[http://asteasolutions.net/mediawiki/index.php/Sophie-JR-MVC-Design Sophie-JR-MVC-Design]] 
     23  * [[http://asteasolutions.net/mediawiki/index.php/Veda-Design-Refactor2#MVC Veda-Design-Refactor2#MVC]] 
    1724 
    1825== Related == 
    19 [wiki:CORE_MVC_BASE_R0] 
     26- 
    2027 
    2128== How to demo == 
    22 ^(In this section you must add instructions for the demo of the task.)^ 
     29 * Open the wiki page where the rules are written (it can be called "CORE_MVC_BASE" for example). 
     30 * Look if all of the analysis points are took into consideration. 
     31 * Make sure that nothing important is dropped. 
    2332 
    2433= Design = 
     34 * Be sure you understand MVC and Singleton. Since these will be the patterns  used for the base design and implementation of the MVC. [[BR]] 
     35  * see http://en.wikipedia.org/wiki/Model-view-controller - MVC Pattern. [[BR]] 
     36  * see http://en.wikipedia.org/wiki/Singleton_pattern - Singleton Pattern. [[BR]] 
     37 * Model and View - represented by App, Book, Page, Frame, !TextFrame, !ImageFrame, !MediaFrame, !AppView, !BookView, !PageView, !FrameView, !ImageFrameView, !TextFrameView and !MediaFrameView. 
     38 * Logic - singleton (instantiated the first time it is called.) 
     39 * This is sensible because: 
     40  * We need to have multiple books with pages and frames as well as multiple views to display the model. 
     41  * We need to control the model by the view. This means that the Controller must have only functions implemented and called. It SHOULD NOT HAVE STATE. That is why singleton pattern will be used to instantiate it. 
     42 * View will be automatically updated on model change. 
     43 * View will commit data to model on user intervention by the corresponding logic. 
    2544 
    2645= Implementation = 
    27 ^(Implementation results should be described and linked here (from the wiki or the repository)^ 
     46The implementation is based upon the requirements. List of the base classes and their class diagrams are added. We don't need rules to implement the MVC since it is relatively simple at this point. Though rules about its usage will be provided. 
     47 
     48[wiki:MVC_STRUCTURE MVC] 
    2849 
    2950= Testing =