1     MVC模式设计

模式的定义,模式是一种问题的解决思路,它已经适用于一个实践环境,并且可以适用于其它环境。简单的说,设计模式就是在开发大型系统时,对整个系统的结构进行的一种构架,比如模块划分,层次等。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

MVC Model-View-Controller)模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分,具体的功能如下:模型(Model): 业务逻辑层,实现具体的业务逻辑、状态管理的功能。视图(View):表示层,就是与用户实现交互的页面,通常实现数据的输入和输出功能。控制器(Controller):控制层。起到控制整个业务流程的作用,实现View层与Model层的协同工作。

MVC 各模块的工作原理可以用下图表示:

由于MVC设计模式做到了表现层和模型层的完全分离,它具有以下三个明显的特点:

1 .多个视图能共享一个模型。如同一个运用可能提供webRich Client Platform、手持设备等多种访问方式,采用MVC模式多个视图可以共享同一个模型,大大提高了代码的重用性。

2 .模型是自包含的,如果业务逻辑发生改变,相应的模型改变后,可以不用更改前台显示页面。

3 .控制器能有效的提高运用程序的灵活性和可配置性。

2     MVC设计模式对CRM的支持

2.1    与远程客户的便捷交互

对于大多数公司的来说,客户可能遍布于全球的各地,需要能提供一种有效而且便捷的方式,与客户取得良好的交互。 子商务的兴起,为公司提供了良好的机遇。电子商务体系中,很多企业间可通过网络的连接,快速传递必要信息。这为公司提供了良好的与客户交互的方式。公司可以为客户提供 购买、付款、寻求服务支持、查询产品与服务目录、查询订单状态等。

使用 MVC 设计模式,能有效的支持 CRM Customer Relationship Management, 客户关系管理 )的这种需求,提供各种用户界面的需求,如无线手持 PDA RCP WEB WEBGIS 等多种表项界面。如图 1 1 所示。

2.2    移动商务

公司必须能为客户提供各种实时的数据服务,这就要求系统具有较强的实时交互功能。客户关系管理系统要能提供基于GPRSCDMAWEBGIS技术的网络计算功能。这样用户就可以通过各种移动设备实现随时、随地访问客户管理系统,进行工作任务的指派、各类企业信息的访问等,全面支持移动办公。

MVC模式有效的支持了PDA扩展,WEBGIS的自由扩展。如可以把客户产品的实时信息发送到客户的PDA上。有了GPS支持后,客户甚至还可以通过WEBGIS的方式来查询自己产品目前所在的位置。这就能为客户提高全方位的实时查询服务。如图11所示
 

     图1-1

2.3    系统的可扩展性

客户关系管理系统要能为用户提供柔性化的业务运营支撑平台,并且与企业业务流程进行无缝的结合。这就要求系统具有较好的可扩展性,能够根据用户需求及时的变动系统流程,有效的支持用户的需求。

由图31MVC模式的逻辑层和表示层是严格分开的,也就是说如果业务逻辑发生改变只需要改变逻辑层就可以,而不用修改多个表现层。底层的逻辑的修改与前台显示无关。所以MVC设计模式能有效的支持CRM系统易变的逻辑结构,增强CRM系统的可扩展性。 如图11所示

 

2.4    客户关系管理数据的复杂性

公司客户关系的数据具有较强的分散性和多样性,客户遍布全球各地,不集中,个人客户人数较多。为了能有效的挖掘客户的相关统计信息,要求CRM系统具有复杂数据的处理能力,能够提供快速的数据处理方式和丰富的显示方式。

MVC 设计模式能针对同一业务逻辑,采用多种不同的表项方式。这为CRM对复杂数据的处理带来方便。采用RCP机制能实现复杂的数据计算,能有效的避免WEB方式在数据处理上的不足。RCP能有效处理复杂的数据,提供丰富的显示界面,从而能有效的支持客户管理信息的挖掘。

 

3    采用MVC设计模式的评价

通过上面两节的分析,可以总结出采用MVC设计模式的优点主要有:

同一业务逻辑可以支持多种不同的表方式,利与CRM系统为客户提供多种不同的服务方式。建立一个立体的CRM系统,与用户保持全方位的接触。

模型层和视图层的分离,使的业务逻辑的变更实现变得简单,减少了CRM系统的维护成本。

性能稳定的扩展机制,使得CRM能够根据业务的需要,适时的扩展自身的功能,满足客户的需求,获得公司决策所需的数据。

存在的不足主要是,视图对模型数据的低效率访问。因为在CRM中,我们提供了多种不同的访问界面,视图可能需要多次调用才能找到适合特定视图的接口,以获得足够的显示数据,这可能导致系统的效率降低。其次如果有关表现层数据的业务逻辑改变后,需要更改各个显示层,使得维护的难度增加。

综上可得,MVC是适合CRM系统的一种设计模式,依据MVC设计模式,我们可以构造适合企业客户关系管理的系统。