设计模式心得体会(陆续更新)

来源:互联网 发布:有生日提醒软件 编辑:程序博客网 时间:2024/06/13 11:10

设计模式心得体会

设计模式是OOP最直接的体现。

一 责任链模式

1. 责任链源模式于对生活中一类情境的抽象,比如古代的击鼓传花、现在的申请审批、课堂上经常出现的传纸条现象。

2. 责任链可用于处理一系列相关操作,比如过滤用户输入的内容,需要过滤的点不止一个,是一串,符号责任链的特点。使用责任链模式可以提高系统的可扩展性,使得在增加过滤条件时不必修改客户端代码,只需修改责任链代码;而且使用责任链逻辑清晰,对一类事物进行了封装,符合面向对象思想。

二 代理模式

1. 

三 单例模式

功能:★

作用:★★

优化:★★★

单例模式要实现的功能很简单,就是使一个类只生成一个对象,难点在于单例模式的使用场合(或者说单例的好处和作用)和对单例模式的优化。而前者是学习后者的动力。网上介绍优化的多,介绍作用的少。

一)使用单例模式的好处

1. 什么情况下需要使用单例模式。

①需要频繁实例化然后销毁的对象。

②创建对象时耗时过多或者耗资源过多,但又经常用到的对象。

③有状态的工具类对象。

④频繁访问数据库或文件的对象。

⑤以及其他我没用过的所有要求只有一个对象的场景。

DAO结构的项目为例,VO实体层的类一般不能用单例,因为实体层的类的一个对象代表数据库中的一条记录,一个数据表中不太可能出现只有一条记录的情况。具体项目中来说,查询结构常放在一个集合对象中,也就是说实体类必须有多个对象存在。而DAO层的类都是一些操作数据库方法的类,没有必要生成多个对象。

所以,有如下总结:多个属性而构成的类一般不用单例,多个方法构成的类一般用单例。

2. 使用单例模式的好处

①在内存中只有一个对象,节省内存空间。

②避免频繁的创建销毁对象,可以提高性能。

③避免对共享资源的多重占用。

④可以全局访问。

二)单例模式的优化

有懒汉式、饿汉式。

单例模式需要注意同步问题。