博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 设计模式
阅读量:5331 次
发布时间:2019-06-14

本文共 987 字,大约阅读时间需要 3 分钟。

1. 单例模式[创建型]

- 应用场景1:在构造函数中解析配置文件保证只解析一次
- 应用场景2:做缓存,因为单例对象不会被垃圾回收器回收

单例分类:

- 真单例
* 饿汉
* 懒汉
- 伪单例
* Servlet是一个伪单例,不符合单例模式的规则,但是该对象是单例的.
Servlet对象的生命周期,程序员无权干涉.只能交给WEB容器管理.
Servlet是单例,那么Servlet对象上的实例变量一定会有线程安全问题.
所以建议不要在Servlet类上定义实例变量.除非保证该实例变量不被修改.

2. 策略模式[行为型]

- 集合是策略模式的代表
- 比较器也是策略模式的代表

3. 迭代器模式[行为型]

- 集合的遍历是迭代器的代表

4. 缺省适配器[结构型]

- GenericServlet
- 自己编写的过滤器Filter适配器
- 自己编写的拦截器Interceptor适配器

5. 装饰器模式[结构型]

- IO流是装饰器模式的代表

6. 代理模式[结构型]

- 静态代理
- 动态代理

7. 模板方法模式[行为型]

- HttpServlet是模板方法设计模式的代表

模板方法设计模式的核心:

在模板类的模板方法中定义核心算法骨架,具体的实现延迟到
子类中完成,可以达到在不修改核心算法的前提之下,可以重新
定义算法的具体实现.
模板方法设计模式是最简单的设计模式,因为它只采用了java中的继承机制.

8. 简单工厂[创建型]

 

* 设计模式一般说的都是Gof95,其实除了Gof95之外还有JavaEE的设计模式,以上除简单工厂之外都是Gof设计模式.

* 设计模式的分类:

- 创建型
- 结构型
- 行为型

* Gof95共23种设计模式

---------------------------------------------开发原则---------------------------------------------------------

1.OCP 基本的开发原则,开闭原则

2.迪米特法则:高内聚,低耦合

3.依赖倒转原则:面向接口编程,面向抽象编程

4.合成聚合复用原则:尽量使用A has a B,减少使用A is a B

转载于:https://www.cnblogs.com/2016-cxp/p/10941140.html

你可能感兴趣的文章
HDU-1150 Machine Schedule 二分图匹配
查看>>
单例模式的5种写法
查看>>
安卓问题报告小记(四):Some projects cannot be imported because they already exist in the workspace...
查看>>
显示地图
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于cocoa 运行时runtime
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
asp.net 写入excel时,不能更新。数据库或对象为只读。
查看>>
linux清空日志文件内容 (转)
查看>>
jsp中对jstl一些标签的引用方式
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
【bzoj5016】[Snoi2017]一个简单的询问 莫队算法
查看>>
Ajax : load()
查看>>
分布式版本控制系统
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>
Zookeeper一致性级别
查看>>