项目中常用的设计模式

来源:互联网 发布:武汉大学网络管理中心 编辑:程序博客网 时间:2024/05/29 17:02

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/blog/4/4-117.html

  1. 业务代表模式:(相同接口的不同实现的查询选择方式)

        步骤:

    • 业务接口;
    • 业务接口实现,多个;
    • 业务接口实现的查询类,根据关键字查询相应的接口实现类;
    • 业务代表:维护一个业务查询类和一个业务接口引用,关键字设置,执行方法中根据关键字获得业务实现类的引用,并使用业务执行相应的功能;
    • 业务发出者通过业务代表即可实现相应的业务处理,需要实现设置关键字。
  2. 组合实体模式:(复杂实体中的属性整体性读写,维持数据一致性)

    步骤:

    • 创建依赖对象;
    • 创建粗粒度对象,内部维护多个依赖对象的引用,并完成相应的setData和getData方法,对依赖对象中的数据进行整体性的读写;
    • 创建组合实体对象,控制多个粗粒度对象的引用,并和粗粒度对象一样对所有数据进行整体性读写;
    • 调用者对组合实体对象中的数据进行整体性的读写操作。
  3. 数据访问对象模式:(就是Dao模式)

    步骤:

    对一个实体实现增删改查方法,其中查询可以有全部查询和单个查询

  4. 前端控制器模式:

    用于认证/授权/日志记录,并处理请求,返回给用户相应的界面,是用来处理所有请求的总控制器。

    步骤:

    • 调度器:通过关键字选择相应的界面输出;
    • 前端控制器:进行认证、请求记录、授权,并通过调度器选择相应的界面输出
  5. 拦截过滤器模式:

    步骤:

    • 过滤器接口和过滤方法;
    • 过滤器接口实现;
    • 过滤器链:维护过滤器集合,增删方法,执行方法,执行目标代码前先执行所有的过滤器;
    • 过滤器管理类:控制过滤器链的执行;
    • 请求者类:调用过滤器管理器执行请求。
  6. 服务定位器模式:

    使用JNDI查询服务时代价较高,在第一次查询完之后便缓存该服务,下次查询时直接从缓存中获取服务,提高性能。

    步骤:

    • 缓存类Cache:维护一个服务集合,通过关键字查询服务,查询不到返回空,以及服务添加(保证集合中服务的唯一性);
    • 服务定位器类:维护一个缓存类引用,通过关键字查询服务,先查缓存中,若缓存中没有再通过JNDI查询服务,并把服务加入缓存中。
  7. 传输对象模式:

    实现实体的服务器客户端的传输功能,使用序列化和反序列化的方法实现。

    • 封装对象实体,属性都为可序列化;
    • 从数据库读取数据填充到实体中;
    • 将实体序列化传输到客户端;
    • 客户端反序列化得到原实体对象,完成对象网络传输功能。

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/blog/4/4-117.html

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 好多程序连不上网了怎么办 掌游宝炉石传说卡组复制不了怎么办 花呗不能充话费怎么办 想用话费充王者怎么办 苹果6s激活出错怎么办 联通话费充多了怎么办? 电信宽带充值充到别人账号了怎么办 未实名的支付宝钱转不出来怎么办 手机打游戏闪屏怎么办 支付宝手机冲错怎么办 手机停用了支付宝充值码怎么办 苹果手机桌面上找不到支付宝怎么办 苹果手机支付宝找不到了怎么办 微信上充话费没到账怎么办 冲q币不到账怎么办 支付宝冲话费没到帐怎么办 qq实名认证没有银行卡怎么办 微信零钱限额没有银行卡怎么办 qq钱包忘记支付密码怎么办 零钱包密码忘了怎么办 关爱通密码知道卡号忘了怎么办 卡号的密码忘了怎么办 银行卡号密码忘了怎么办 微信超出单月支付限额怎么办 行李箱三位数密码忘记了怎么办 手机忘记4位数密码怎么办 win7登入密码忘记了怎么办 电脑登入密码忘记了怎么办 电脑忘记登入密码怎么办 qq钱包支付密码忘了怎么办 财付通转走我卡里的钱怎么办 银行卡资金通过财付通被盗怎么办 社保卡忘了密码怎么办 医保卡忘了密码怎么办 手机qq红包忘记支付密码怎么办 微信红包忘记支付密码怎么办 充点话费充错了怎么办 qq转账记录删除了怎么办 qq转账记录删了怎么办 qq怎么办?q币转给微信 q币送不了别人怎么办