一种基于工厂模式的产品信息控制系统及方法

文档序号:6582061阅读:205来源:国知局
专利名称:一种基于工厂模式的产品信息控制系统及方法
技术领域
本发明涉及信息系统领域,特别涉及一种基于工厂模式的产品信息控制系统及方 法。
背景技术
Internet是现今人类使用最为广泛同时更新也是最快的技术。随着技术的发展, hternet已经应用已经涉及到我们生活的方方面面。例如网上商城,在过去,开商店一般都 是指实体店,地段,面积一直都是需要很多本钱的,并且承担着一定的风险。而现如今,通过 网上商城,我们可以很快捷地将自己想要卖的商品放在网上。随着电脑的普及,网上购物已 经成为一种时尚,一种消费的方式。对于网上商城,不管是网上书店还是网上销售其他物品的系统,其作为一个信息 系统,其使用的设计模式均是有所不同,各有优势的。

发明内容
本发明的目的是提供一种基于工厂模式的产品信息控制系统及方法,通过抽象工 厂提供的接口,客户端不必指定产品的具体类型就能创建多个产品足(product families) 中的产品对象。一方面,本发明提供一种基于工厂模式的产品信息控制系统,其基于JSP技术实 现,包括数据库,存储产品信息以及用户信息;界面显示单元,通过JSP页面显示所述系统存储的产品信息以及用户对所述产品 的操作选项;购物车单元,用以集中存放并显示用户选择形成的包含产品信息的订单列表;订单处理单元,用以对所述购物车单元的订单列表进行处理;其特征在于,所述控制系统还包括一工厂接口,所述工厂接口适以建立创建实例 的若干方法,通过Mruts控制器写入所述工厂接口的实现类,调用所述工厂接口接收用户 请求并执行与所述用户请求对应的业务逻辑,将执行结果返回至所述系统各单元。所述工厂接口适以为系统用户建立具体工厂实例,所述系统用户通过调用相应方 法得到所需要的产品对象。所述购物车单元以产品的id、数量、单价、总价为一个单位封装为一个对象,通过 修改、删除按钮对所述对象进行相应的操作。所述订单处理单元将所述购物车单元中所有信息转换为订单对象,通过调用业务 逻辑持久化所述订单对象并插入所述数据库存储。所述界面显示单元的JSP页面使用客户化标签,所述客户化标签源自Mruts HTML、Bean和Logic标签库;所述Struts控制器包括=Action Servlet组件,用以作为 Struts中央控制器;Request Processor组件,用以作为系统每个子应用模块单元的请求处理器;Action组件,用以负责处理一项具体的业务。另一方面,本发明还提供一种基于工厂模式的产品信息控制方法,其基于JSP技 术的信息控制系统,包括以下步骤建立数据库,存储产品信息以及用户信息;建立一工厂接口,使所述工厂接口适以建立创建实例的若干方法,用以响应外部 的用户请求,并配合所述系统的Mruts控制器的模型组件执行与所述用户请求对应的业 务逻辑;通过JSP页面显示所述系统存储的产品信息以及用户对所述产品的操作选项;建立一购物车单元,用以集中存放并显示用户选择形成的包含产品信息的订单列 表;建立一订单处理单元,根据用户的请求,用以对所述购物车单元的订单列表进行处理。所述工厂接口适以为系统用户建立具体工厂实例,所述系统用户通过调用相应方 法得到所需要的产品对象。所述购物车单元以产品的id、数量、单价、总价为一个单位封装为一个对象,通过 修改、删除按钮对所述对象进行相应的操作。所述订单处理单元将所述购物车单元中所有信息转换为订单对象,通过调用业务 逻辑持久化所述订单对象并插入所述数据库存储。所述界面显示单元的JSP页面使用客户化标签,所述客户化标签源自Mruts HTML、Bean和Logic标签库;所述Struts控制器包括=Action Servlet组件,用以作为 Struts中央控制器;Request Processor组件,用以作为系统每个子应用模块单元的请求 处理器;Action组件,用以负责处理一项具体的业务。采用本发明所述的一种基于工厂模式的产品信息控制系统及方法,其包括存储产 品信息以及用户信息的数据库,通过JSP页面显示所述系统存储的产品信息以及用户对所 述产品的操作选项的界面显示单元,用以集中存放并显示用户选择形成的包含产品信息的 订单列表的购物车单元,以及用以对所述购物车单元的订单列表进行处理的订单处理单 元,所述信息控制系统还包括一工厂接口,通过MrutS控制器写入所述工厂接口的实现 类,调用所述工厂接口接收用户请求并执行所述业务逻辑层中的应用程序。采用了本发明 所述的技术方案,可以给系统带来更大的可扩展性和尽量少的修改量。


图1是本发明所述控制系统的原理框图;图2是本发明所述控制方法的流程图。
具体实施例方式下面结合附图和实施例进一步说明本发明的技术方案,本发明以在线书籍控制系 统为实施例。首先介绍一下工厂模式(factory),工厂模式就相当于创建实例对象的new,开发 人员经常要根据类Class生成实例对象,如A a = new A (),工厂模式也是用来创建实例对象的,会给系统带来更大的可扩展性和尽量少的修改量。工厂模式可以动态决定将哪一个 类实例化,不必事先知道每次要实例化哪个类。工厂模式有以下几种形态1.简单工厂模式又称静态工厂方法模式。2.工厂方法模式又称多态性工厂模式。3.抽象工厂模式又称工具箱模式。使用工厂模式的优势如果创建某个实例时所做的初始化工作不是象赋值这样 简单的事,可能是很长一段代码,如果也写入构造函数中,那代码就并不合理了。初始化工 作如果是很长一段代码,说明要做的工作很多,将很多工作装入一个方法中,这也是有背于 Java面向对象的原则,面向对象的封装(Encapsulation)和分派(Delegation)告诉开发 人员,尽量将长的代码分派“切割”成每段,将每段再“封装”起来(减少段和段之间偶合 联系性),这样,就会将风险分散,以后如果需要修改,只要更改每段。这时开发人员就需要 Factory工厂模式来生成对象了。参见图1,图1是本发明所述一种基于工厂模式的产品信息控制系统100,包括数据库110,存储书籍信息以及用户信息;用户验证单元120,所述用户登陆所述系统时,所述用户验证单元120将其输入的 用户名和密码与所述数据库110存储用户信息的进行比对,若一致则进入所述界面显示单 元 130。界面显示单元130,通过JSP页面显示所述系统存储的书籍信息以及用户对所述 书籍的操作选项。所述JSP页面使用客户化标签,所述客户化标签源自Mruts HTML.Bean 禾口 Logic标签库。购物车单元140,用以集中存放并显示用户选择形成的包含书籍信息的订单列表。 所述订单列表具体包括书籍名称、书籍价格以及订单配送方式。所述购物车单元140以产 品的id、数量、单价、总价为一个单位封装为一个对象,通过修改、删除按钮对所述对象进行 相应的操作。订单处理单元150,用以对所述购物车单元140的订单列表进行处理。所述订单处 理单元150将所述购物车单元140中所有信息转换为订单对象,通过调用业务逻辑持久化 所述订单对象并插入所述数据库110存储。
工厂接口 160,所述工厂接口适以建立创建实例的若干方法,通过Mruts控制器 写入所述工厂接口的实现类,调用所述工厂接口接收用户请求并执行与所述用户请求对应 的业务逻辑,将执行结果返回至所述系统各单元。所述工厂接口适以为系统用户建立具体 工厂实例,所述系统用户通过调用相应方法得到所需要的产品对象。所述Mruts控制器包 括Action Servlet组件,用以作为Mruts中央控制器;Request Processor组件,用以作 为系统每个子应用模块单元的请求处理器;Action组件,用以负责处理一项具体的业务。
下面介绍一下实体设计,对于本发明所述系统100的数据库110,其存储了很 多实体文件Product (商品),每本书都有一个属于秘书的类型,所以还要有一个类型 实体Category (种类),而且系统中所有功能都是由用户驱动的,所以还在有一个用户 实体ESim_B00k_USer (用户),每个用户都有自己的地址信息,所以有一个地址实体: Contactinfo (用户信息)。当用户选购完自己的商品后,必须为他生成一份定单存放在数据库110中,所以还在有一个定单实体orders(定单)。每一个定单都有它的一个状态 (比如已发货,待发货,发货中),所以也要为定单状态建立一个实体=OrderStatus (定单 状态)。定单中一个有款不同类型的书籍,所以还在为它创建一个条目实体(Items)条目。 每一个定单都有它的配送方式,所以还要为定单配送方式建立一个实体PayWay (定单配 送方式)O实体与实体之间存在三种关系一对一、一对多和多对多。本系统100中的实体之 间存在以下关系Esun_Book_User (用户)和Contactinfo (用户信息)实体一对一。一个客户只 能填写一个有效地址,一个有效地址也只能对应一个客户。Esun_Book_User (用户)和Orders (定单)实体一对多。一个客户有多个订单, 而一个订单只能属于一个客户。Category (种类)和Product (商品)实体一对多。一件商品只有一个类别,而 一个类别可以对应多件商品。Item(条目)和ftx)duCt (商品)实体一对一。一个条目对应一件商品,一件商 品对应一个条目。Item(条目)和Orders (定单)实体一对多。一个条目对应一张定单,一张定单 可以拥有多个条目。I^ayWay (定单配送方式)和Orders (定单)实体一对多。一张定单只能有一个 配送方式,而一种配送方式可以对应多张定单。本系统100中的界面显示单元130的实现,也可以称之为表示层设计表示层,即 显示给用户看的页面。在本系统100的JSP页面中使用客户化标签,可以把java程序代码 和JSP页面分离,使JSP页面重于生成动态网页,而不涉及应用逻辑。本系统100的所有 都页面都使用了 MrutsHTML、Bean和Logic标签库中的标签。客户化标签有以下优点标 签具有可重用性,因此可以提高开发效率;可以在JSP页面以静态或动态的方式客户化设 置自定义标签的属性;标签可以访问JSP网页中的所有对象,如Http Servlet Request和 Http Servlet Response等;标签可以相互嵌套,来完成逻辑;标签可以使JSP页面变得更 加简洁,提高可读性。本系统100的控制层的设计实现本系统100的各单元基于Mruts控制器接收用 户请求,并调用Mruts控制器的模型组件执行与所述用户请求对应的业务逻辑,将执行结 果返回至所述系统各单元。所述Mruts控制器包括ActionServlet组件,用以作SMruts 中央控制器;Request Processor组件,用以作为系统每个子应用模块单元的请求处理器; Action组件,用以负责处理一项具体的业务。Struts控制器组件负责接收用户请求、更新模型,以及选择合适视图组件返回给 用户。控制器组件有助于疳模型层和视图层分离,有了这种分离,就可在同一个模型的基础 上得心应手地开发多种类型的视图。本系统采用Mruts框架的控制器组件来预处理所有的客户请求,这种集中控制 方式可以满足MVC设计模式的两大需求首先,控制器在用户输入数据和模型之间充当媒 介翻译者的角色,提供一些通用功能。如安全、登入和其他针对具体用户请求的重要服务, 当系统的这些通用功能出现需求变更时,不需要修改整个应用,只需要修改局部的控制器组件即可。其次,由于所有的请求都经过控制器过滤,因此可以降低视图组件之间,以及视 图组件和模型组件之间的相互依赖关系,提高每个组件的相对独立性。由控制器组件来决 定把合适的视图组件返回给用户,这可以减少视图组件之间直接的、错综复杂的链接关系, 使应用更加灵活,便于维护。本系统100的各单元模块的代码实现1、界面显示单元130,界面显示单元130通过JSP页面进行可视化显示,下面的代 码实现一个JSP页面,该页面具有书籍显示列表,并具有指向购物车的链接。
权利要求
1.一种基于工厂模式的产品信息控制系统,其基于JSP技术实现,包括数据库,存储产品信息以及用户信息;界面显示单元,通过JSP页面显示所述系统存储的产品信息以及用户对所述产品的操 作选项;购物车单元,用以集中存放并显示用户选择形成的包含产品信息的订单列表;订单处理单元,用以对所述购物车单元的订单列表进行处理;其特征在于,所述控制系统还包括一工厂接口,所述工厂接口适以建立创建实例的若 干方法,通过MrutS控制器写入所述工厂接口的实现类,调用所述工厂接口接收用户请求 并执行与所述用户请求对应的业务逻辑,将执行结果返回至所述系统各单元。
2.如权利要求1所述的系统,其特征在于,所述工厂接口适以为系统用户建立具体工 厂实例,所述系统用户通过调用相应方法得到所需要的产品对象。
3.如权利要求1或2所述的系统,其特征在于,所述购物车单元以产品的id、数量、单 价、总价为一个单位封装为一个对象,通过修改、删除按钮对所述对象进行相应的操作。
4.如权利要求3所述的系统,其特征在于,所述订单处理单元将所述购物车单元中所 有信息转换为订单对象,通过调用业务逻辑持久化所述订单对象并插入所述数据库存储。
5.如权利要求4所述的系统,其特征在于,所述界面显示单元的JSP页面使用客户化 标签,所述客户化标签源自Mruts HTML, Bean和Logic标签库;所述Mruts控制器包括 Action Servlet组件,用以作SMruts中央控制器;Request Processor组件,用以作为系 统每个子应用模块单元的请求处理器;Action组件,用以负责处理一项具体的业务。
6.一种基于工厂模式的产品信息控制方法,其基于JSP技术的信息控制系统,其特征 在于,包括以下步骤建立数据库,存储产品信息以及用户信息;建立一工厂接口,使所述工厂接口适以建立创建实例的若干方法,用以响应外部的用 户请求,并配合所述系统的Mruts控制器的模型组件执行与所述用户请求对应的业务逻 辑;通过JSP页面显示所述系统存储的产品信息以及用户对所述产品的操作选项;建立一购物车单元,用以集中存放并显示用户选择形成的包含产品信息的订单列表;建立一订单处理单元,根据用户的请求,用以对所述购物车单元的订单列表进行处理。
7.如权利要求6所述的方法,其特征在于,所述工厂接口适以为系统用户建立具体工 厂实例,所述系统用户通过调用相应方法得到所需要的产品对象。
8.如权利要求6或7所述的方法,其特征在于,所述购物车单元以产品的id、数量、单 价、总价为一个单位封装为一个对象,通过修改、删除按钮对所述对象进行相应的操作。
9.如权利要求8所述的方法,其特征在于,所述订单处理单元将所述购物车单元中所 有信息转换为订单对象,通过调用业务逻辑持久化所述订单对象并插入所述数据库存储。
10.如权利要求9所述的方法,其特征在于,所述JSP页面使用客户化标签,所述客户化 标签源自Struts HTML、Bean和Logic标签库;所述Struts控制器包括Action Servlet 组件,用以作为Mruts中央控制器;Request Processor组件,用以作为系统每个子应用模 块单元的请求处理器;Action组件,用以负责处理一项具体的业务。
全文摘要
本发明揭示了一种基于工厂模式的产品信息控制系统及方法,其包括存储产品信息以及用户信息的数据库,通过JSP页面显示所述系统存储的产品信息以及用户对所述产品的操作选项的界面显示单元,用以集中存放并显示用户选择形成的包含产品信息的订单列表的购物车单元,以及用以对所述购物车单元的订单列表进行处理的订单处理单元,所述信息控制系统还包括一工厂接口,通过Struts控制器写入所述工厂接口的实现类,调用所述工厂接口接收用户请求并执行所述业务逻辑层中的应用程序。采用了本发明所述的技术方案,可以给系统带来更大的可扩展性和尽量少的修改量。
文档编号G06Q30/00GK102054241SQ200910197759
公开日2011年5月11日 申请日期2009年10月27日 优先权日2009年10月27日
发明者唐奇, 宋涛 申请人:上海杉达学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1