一、精品课程网站的系统业务分析与设计
以上几个阶段的功能,若单独设计和维护,势必会增加系统设计维护的复杂性,也导致维护设计的重复性。所以,可设计统一的接口,提供查询、增加、修改、删除功能接口,根据处理具体模块功能,使用不同的策略实现这些功能接口;如精品课程建设基本内容展示和管理,仅需具体实现这一接口即可。同时,业务模块增加,也仅实现这一接口,就可适应功能扩展,再如交互功能,在线考试系统的增加,也只需增加相关具体业务功能,实现这一接口。通过这样的设计,降低功能模块间的耦合度,提高模块的聚合度,提高网站扩展性,也抽高网站应对功能变化的应变能力,达到降低网站的设计维护的工作量,实现网站功能扩展性。
二、策略模式(Strategy)分析
策略模式用意是为实现客户(Context)使用这些不同的功能模块时,不需关心这些功能模块的不同,仅需使用它们共同的接口,即可完成这些不同功能模块的使用。这样,在一定程应上,可以实现这一组功能模块的单独维护与扩展,而不用维护客户端功能模块,以提高代码的可维护性和可扩展性,降低客户端模块与一组功能模块的耦合度。
1策略设计模式各功能模块的角色策略设计模式各功能模块的角色如下:
(1)环境功能模块角色(Context):客户所期待的功能模块。
(2)抽象功能策略模块角色(InterfaceStrategy):需要适配的接口模块,为环境功能模块提供统一的访问接口。
(3)具体功能策略模块角色(ConcreteStrategy):核心功能模块,具体实现相关功能模块。
2策略设计模式的应用场景
对于策略设计模式,主要适用于以下几种应用场景:
(1)在系统里有许多类,这些类主要是行为各不相同。
(2)系统需求需要在几种算法中或未来需要的几种算法中选择适用的一种算法。此时,可以把这些不同算法在不同类中具体实现或未来再具体实现,同时,这些算法具有统一接口,使用面向对象的多态原则,系统可以使用此统一的接口,选择使用相应用的具体算法类⑤。
(3)使用统一算法时,想屏蔽具体数据差异时,策略模式可以让系统调用具体算法时,避免接触与算法有关的复杂数据。以达到接口调用的简单性。
(4)系统隐藏具体算法的实现细节。
3策略设计模式的特点
根据以上分析与应用可以得出,策略设计模式具有如下特点:
(1)算法的独立性和可扩展性。策略设计模式提供了一种替代继承的设计方法,这样既保持就继承的优点即代码重用,又增加了设计维护灵活性,即算法独立性和可扩展性,避免在程序中使用多重条件转移语句。
(2)在一定程度上遵守高内聚、低偶合设计原则。
三、策略设计模式在精品课程网站设计中的应用
结合精品课程网站业务分析及策略模式分析,在精品课程网站管理平台中,针对早期阶段的精品课程建设基本内容管理、中期阶段的问卷调查管理、在线交流管理及后期阶段的在线考试管理等等,都有相应的增加、修改、删除等统一功能,但它们的具体实现,如基本内容管理、问卷管理等,因其它操作的数据的差异,导致具体操作不相同。故在管理平台中,需根据具体阶段业务项目的扩展,动态地选择不同业务的增加、修改、删除操作方式,完成对应的业务功能。这样业务需求的统一与变化,与策略模式思想相一致,故可以选择策略模式设计网站相关的功能。策略设计模式在精品课程网站设计结构图,,InterfaceManageCommand是抽象功能策略模块接口,它定义了网站各功能中统一业务接口增加、修改、删除、查询等接口方法。ManageCommand是环境功能模块类,是需要操作服务的类,引用了一个InterfaceManageCommand的具体操作实现类对象,具体实现操作类对象由客户选择的相关功能指定,以完成客户按需完成不同业务功能,这样,避免使用分支语句,可判断用户的具体选择,降低程序可读性,也不用因减少或增加各阶段业务功能进行维护。InterfaceManageCommand的子类是具体操作的`策略,如在申报阶段的基本内容展示管理类BaseContentCommand,使用验收阶段增加的在线答疑类InteractCommand、在线问卷调查类SurveryCommand,后期增加的在线考试类TestCommand类等,不同类的具体操作方法完成具体业务的实际功能;若需增加新的业务功能,如在线课程,仅需添加相关的InterfaceManageCommand的子类即可,这样可提高设计的扩展性,以达到系统动态地适应功能的增加,最大程度地减少系统的维护。针对德宏师范高等专科学校精品课程网站设计实际情况,本文主要采用JSP完成网站的设计,以下是所实现功能的部分JSP代码。
1环境功能设计
由于每个业务都有统一的操作(增加、修改、删除、查询)功能,在页面可以设置相关操作连接,使用ManageCommand创造具体业务对象,以实现具体业务操作。ManageCommand设计,
2管理功能接口设计
管理功能接口InterfaceManageCommand,定义统一的操作方法,为ManageCommand提供统一操作方法。InterfaceManageCommand设计,
3具体业务功能策略
每个具体业务功能策略,只要实现InterfaceManageCommand接口即可,如TestCommand类,实现InterfaceManageCommand接口,具体完成考试管理中相关操作,TestCommand设计代码,
四、设计效果
本文以德宏师范高等专科学校“思想道德修养与法律基础”精品课程网站的设计为例,使用JSP和SQLServer2005技术进行开发,系统使用Web技术常见的3层结构设计,各层使用模块方法独立设计,实现精品课程建设网站的内容管理、在线交互、问卷调查、在线考试的管理与展示。系统在每个阶段方便地实现业务功能的扩展,对系统实现、调试、集成等软件开发阶段,维护方便,节约了很多时间,降低了开发费用。
五、结束语
实践说明,将策略设计模式应用到系统接口设计中,能有效提高软件系统设计的效率,提高代码的利用性和系统的可扩展性。面向对象设计模式的使用,使软件设计人员可借鉴成功软件设计的经验,也为软件架构设计提供更多可行的解决方案。通过此精品课程网站的运行效果,说明该设计模式的实用价值,可对同类设计问题提供参考。
【基于策略模式的精品课程网站设计论文】相关文章: