Design Pattern 36-单一职责原则(Single Responsibility Principle,SRP)
单一职责原则的定义
单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,由罗伯特·C.马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。
这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more th...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 35-依赖倒置原则(Dependence Inversion Principle,DIP)
依赖倒置原则的定义
依赖倒置原则(Dependence Inversion Principle,DIP)是 Object Mentor 公司总裁罗伯特·马丁(Robert C.Martin)于 1996 年在 C++ Report 上发表的文章。
依赖倒置原则的原始定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象(High level mod...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 34-LSP 里氏替换原则
里氏替换原则的定义
里氏替换原则(Liskov Substitution Principle,LSP)由麻省理工学院计算机科学实验室的里斯科夫(Liskov)女士在 1987 年的“面向对象技术的高峰会议”(OOPSLA)上发表的一篇文章《数据抽象和层次》(Data Abstraction and Hierarchy)里提出来的,她提出:继承必须确保超类所拥有的性质在子类中仍然成立(Inh...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 33-open close 开闭原则
OO 的 7 个法则
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。
我们将在下面的几节中依次来介绍这 7 条原则,本节首先介绍开闭原则。
开闭原则的定义
开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 32-java 服务定位器模式(Service Locator Pattern)
服务定位器模式
服务定位器模式(Service Locator Pattern)用在我们想使用 JNDI 查询定位各种服务的时候。考虑到为某个服务查找 JNDI 的代价很高,服务定位器模式充分利用了缓存技术。在首次请求某个服务时,服务定位器在 JNDI 中查找服务,并缓存该服务对象。当再次请求相同的服务时,服务定位器会在它的缓存中查找,这样可以在很大程度上提高应用程序的性能。以下是这种设计...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 31-java 拦截过滤器模式(Intercepting Filter Pattern)
拦截过滤模式
拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。
过滤器(Filter)
过滤器在请求处理程序执行请求之前或之后,执行某些任务。
...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 30-java 前端控制器模式(Front Controller Pattern)
前端控制器模式
前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。
前端控制器(Front Controller)
处理应用程序所有类型请求的单个处理程序,应用程序可以是基于 web...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 29-java 数据访问对象模式(Data Access Object Pattern)
数据访问对象模式
数据访问对象模式
实际案例
类信息概览:
类名
说明
Main.java
方法的总入口
UserDao.java
用户 dao 接口
User.java
用户
...
2017-03-14 11:52:28 |
Design Pattern