Prism 是一种应用于silverlight的设计模式, 代码和教学文档可以从官网下http://compositewpf.codeplex.com/ 最新的应该是Prism4,安装后会在电脑里面生产一个文件包,里面有SampleCode和Prism的lib dll文件以及一个教学的文档。
Prism的自带的教学文档比较抽象,把一些主要的思想提炼了出来,但没有做到step by step,我想写这么一个学习博客来鼓励自己学习,同时分享下学习经验吧。
官网的文档里有Prism的定义和介绍,我就不重复了,我对Prism的理解是,随着软件开发发展,开发员越来越希望把前台显示和后台逻辑分开,传统的.net实现方法是前台用aspx文件写,后台用cs文件,但是这样还不够!
比如说在前台加入一个button,后台实现button的click事件:
<asp:Button ID="btnSave" runat="server" Text="Save" onclick="btnSave_Click" />
protected void btnSave_Click(object sender, EventArgs e)
{
}
现在的开发者依然觉得这样还没有实现完全的 loosely-coupled,前后台依然被“btnSave_Click”这个方法名束缚住了。我们期望的是可以把前台交给一个美工,后台交给一个程序员,美工制作页面的时候完全不用关心逻辑方面的问题,只要把画好的页面丢给后台程序员,后台程序员也不用管前台页面里的那些控件取的什么名字,写完自己逻辑代码以后,再写一个viewmodel的文件,把前台的xaml文件和自己的逻辑代码一绑定,job done!分工明确。Prism还有一个优点就是module开发模式,一般来说一张web页面总能分成好几块,比如上方有导航模块,主模块可以分成正文模块,统计chart模块,calendar模块,地图模块等等,Prism可以允许把这些模块交给不同的人去做,完成后拼成一张页面,这对模块重用也很有帮助,听起来是不是很爽阿!
不过在爽之前还有很多东西要学!慢慢来吧。