MVC,十年的经典。可是如何体味到MVC的真正内涵并付诸实践,还是一个新课题。
做过J2EE的朋友对MVC都是耳熟能详的,Struts,Turbine都是现成的模式。
而这次我们需要实现的是在.net C#的开发环境下面,利用自己构筑MVC的Framework,开发Windows Application。
先来看看什么是MVC。
MVC是” Model-View-Controller”。的缩写。
简而言之,就是把画面和逻辑分别封装,利用Controller来进行交互的一种实现方法。
在传统的一些框架中,每个层面会有一些固定的Design Patten来做。
“Views可以看作一棵树,显然可以用Composite Pattern来实现。Views和Models之间的关系可以用Observer Pattern体现。Controller控制Views的显示,可以用Strategy Pattern实现。Model通常是一个调停者,可采用Mediator Pattern来实现。”
但是,我们是在一个全新的基础上自己进行Framework的构筑,所以,采取了比较不一样的设计思想。
首先,根据产品的需求,搭建出系统构筑图。
这是构筑软件架构的根本要素,也就是打地基。
系统构筑里面需要包括几个基本元素:
1) 低层数据的交互如何进行
2) 公共的控件如何安装和扩张
3) 共通的逻辑如何放入Library
在这些基本元素之上,投入MVC三大模块,并保证M,V,C三个层次的交互可以顺畅进行。
定义MVC构架Framework中的接口和框架,编写Framework的代码,
对Framework的各部分进行Unit测试,写出Sample程序.
最后,在实际应用中使用MVC构架的Framework.
关于该MVC构架的实际应用方法如下:
根据系统构筑,制定出NameSpace和Assblem的命名规则。
NameSpace主要有两部分组成,
按照功能模块划分
按照公共元素划分
每一个NameSpace下面,按照MVC分出三个Assblem。
在通过业务方面的设计分析之后,在每个Assblem中使用相对固定的Design Patten进行Class定义,并构建函数和变量。
至此,整个工程的MVC的构架结合业务逻辑基本完成。
下面,会讨论一些开发中的问题点。