现在的位置: 首页 > 综合 > 正文

欢庆两会胜利召开

2013年04月20日 ⁄ 综合 ⁄ 共 1000字 ⁄ 字号 评论关闭

欢庆两会胜利召开

这是印象中我们第一次连着开会,上午一次,下午一次,我称之为两会。

原本上午的会议主要由李坤师哥来给我们介绍一下MVC(Model View Controller)开发。谁知,半路杀出来个小兵,把观察者模式给带进来了,场面一度混乱。

MVC简介如图:

clip_image002

MVC模式,简要说就是用一个Controller层将界面层与Model操作层隔离开,这样就减少了耦合性,并且将面向对象的几大优势体现出来了。

主要优点:低耦合、高重用和适用性、快速部署、可维护性强、有利于软件工程化管理等。

再看三层架构,三层架构主要分为:表现层UI、业务逻辑层BLL(主要用来处理逻辑而非逻辑处理)、数据访问层DAL。浅看其实MVC和三层架构很相似,其实细看三层架构是从MVC上抽象化出来的,总的来说没有太明显的不同。

上午主要问题就卡在如何理解区分观察者模式和外观模式上。当然骨灰级的大鸟们当然知道这些模式之间的细微差距,熟悉其中各个模式之间的优劣,早已摸透其中门道,可是换成我们这些小菜,各个模式之间的差异、使用范围、各个优劣就成了探讨学习设计模式之路上的拦路虎。

观察者模式如图:

clip_image004

外观模式如图:

clip_image006

从以上两图中,我们很容易发现外观模式和观察者模式的相关定义已经将这两个模式区分的很细了,之间的使用范围也较为清楚了。

从今天开会总结来看,在某种程度上观察者模式是处于宏观上的,并且在外观模式之上,而外观模式则是处理细节部分。

比如说,在我们之前做的那个机房收费管理系统中,有一个功能是强制下机(将满足一定条件的上机用户的上机状态全部改写为下机状态。),我们可以将满足条件的上机学生用户抽象出来,作为观察者模式中的观察者,而通知者则可用管理员来充当,在抽象的学生用户类中写进一个下机方法(准备用来给强制下机使用的方法),当强制下机命令下达以后,所有满足条件的上机学生用户全部进行状态更改(下机方法)。这就用到了观察者模式。

在下机方法中,我们可以用到外观模式,类似的将和下机相关的操作封装起来使用。

总结一下,就是观察者模式中的观察者是要能够抽象出来的才行,剩下外观模式则可以简单理解为将一个功能实现的几个不同部分的一个封装,就好比一个物体,外边有一层包装,有什么需要执行的操作,直接和包装打交道就可以。

设计模式表达的是一种种思想,是积累来的大智慧,是需要我们踏踏实实的学习的,更是要一点一点啃下来消化掉的。如是,一场设计模式探讨风席卷而来。

 

抱歉!评论已关闭.