项目中常用的设计模式

本文为博主原创,允许转载,但请声明原文地址: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

时间: 2024-10-18 05:57:47

项目中常用的设计模式的相关文章

C#项目中常用到的设计模式

1. 引言 一个项目的通常都是从Demo开始,不断为项目添加新的功能以及重构,也许刚开始的时候代码显得非常凌乱,毫无设计可言.但是随着项目的迭代,往往需要将很多相同功能的代码抽取出来,这也是设计模式的开始.熟练运用设计模式应该是每一个软件开发人员的必备技能.今天给大家介绍几个常用的设计模式. 2. 单例模式 单例模式恐怕是很多开发人员最先接触到的模式之一,可以认为就是一个全局变量.它的初始化过程无非就是一开始就new 一个instance,或者惰性初始化等需要用到的时候new 一个instanc

[ 转载 ] Java中常用的设计模式

Java中常用的设计模式 1.单例模式 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3.单例类必须给所有其他对象提供这一实例. 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 总之,选择单例模式就是为了避免不一致状态,避免政出多头. 推荐链接:http://blog.csdn.net/jason0539/article/details/23297037 2.工厂模式 工厂模式的两种情况: 1.在编码时不能预见需要创建哪种类的

iOS开发中常用的设计模式

常用的设计模式(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求.列表row个数delegate自定义的delegate (二)观察者模式应用场景:一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息.优势:解耦合敏捷原则:接口隔离原则,开放-封闭原则实例:Notificatio

iOS中常用的设计模式

常用的设计模式(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求.列表row个数delegate自定义的delegate (二)观察者模式应用场景:一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息.优势:解耦合敏捷原则:接口隔离原则,开放-封闭原则实例:Notificatio

OC中常用的设计模式

常用的设计模式(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求.列表row个数delegate自定义的delegate (二)观察者模式应用场景:一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息.优势:解耦合敏捷原则:接口隔离原则,开放-封闭原则实例:Notificatio

项目中常用的SQL语句

摘要: 对于像我一样的菜鸟级别人物来说,接触的项目比较少,平常做的那些练习,包括三层中,一般也只能用到增删改查,当然这些增删改查语句是学数据库语句的入门,在百度上搜索一大堆,w3cschool中帮助文档也可以查阅. 这里是把平常用的增删改做一个小小总结,对一些小小项目也是比较适用的 ,当然,好记性不如烂笔头吗,这个时代纸质版的笔记感觉很欠缺,因为想要看的时候,你得找到那本书,而且要翻翻在哪里,感觉很不方便.并且电子版 的随便copy之类的都可以. 常用的sql语句(增删改查) 1.增加.插入语句

简析项目中常用的七参数转换法和四参数转换法以及涉及到的基本测量学知识

1.背景 在了解这两种转换方法时,我们有必要先了解一些与此相关的基本知识.我们有三种常用的方式来表示空间坐标,分别是:经纬度和高层.平面坐标和高层以及空间直角坐标. 2.经纬度坐标系(大地坐标系) 这里我首先要强调:天文坐标表示的经纬度和大地坐标系表示的经纬度是不同的.所以,同一个经纬度数值,在BJ54和WGS84下表示的是不同的位置,而以下我说的经纬度均指大地坐标系下的经纬度.大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系.下面我跟大家大致谈谈其中涉及到的两个重要概念. 2.1大地

iOS项目中常用的第三方开源库

1.项目使用的第三方开源库 http://github.ibireme.com/github/list/ios/整理了比较常用的iOS第三方组件,以及github上的统计. 项目使用了CocoaPods(类似java中的maven)管理常用的第三方库,一些特殊的单独引用,下面介绍下比较好用的几个. (1)AFNetworking 目前比较推荐的iOS网络请求组件,默认网络请求是异步,通过block回调的方式对返回数据进行处理. 需要注意的是AFNetworking对服务器返回的ContentTy

01_js中常用的设计模式

JS中常见的设计模式 1.单例模式:创建只有一个实例的对象. 2. 工厂模式:有助于消除那些彼此实例化对方的类之间的耦合,改而用一个方法来确定要实例化哪个类. 3.桥接模式:既能把两个对象连接在一起,又能避免二者之间强耦合的方法.桥接元素把两个对象连接起来,同时又允许它们独立变化. 4.组合模式:非常适合用于创建动态的GUI界面,使用这种模式可以达到一条命令就可以在许多对象上激发复杂或递归性的行为. 5.门面模式:用来为对象创建一个更完善的接口. 6.适配器模式:一种可以让现有接口契合实际需要的