设计模式学习

本文介绍了编程中常用的几种设计模式,包括适配器模式、组合模式、模板方法模式、策略模式和单例模式,并通过示例代码详细解释了单例模式的具体实现。

我们在编程时一直在使用设计模式却很少意识到,今天趁空闲对最近常用的几个设计模式做个总结:

适配器模式:
将一个类的接口转换为客户希望的另外一个类的接口。它使得原本因为接口不兼容而不能在一起工作的俩个类能一起工作。(多加一层封装)
组合模式:
将具有整体-部分结构的对象组合成树形结构,它使得用户在使用单个对象和组合对象时具有一致性。(整体-部分关系,contains-a关系,借助于继承实现覆盖共有方法)
模版方法:
定义了一个算法的骨架,将算法中的一个子步骤延迟到子类中去实现。这样可以在不改变算法结构的情况下,重新定义算法的某些特定步骤。(继承抽象类)
策略模式:
(在一个类的多个子类中)分别封装算法,算法间可以相互替换,一个算法的改变不会影响其他算法。(继承)
单例模式:
提供一个全局访问点。可以使用双重锁定获取一个静态实例,避免多线程引起的问题:

1.	public static LogUtil getInstance() {  
2.	    if (sLogUtil == null) {  
3.	        synchronized (LogUtil.class) {  
4.	            if (sLogUtil == null) {  
5.	                sLogUtil = new LogUtil();  
6.	            }  
7.	        }  
8.	    }  
9.	    return sLogUtil;  
10.	} 


组合模式侧重于组合(整体-部分的关系)。模版方法侧重于将算法特定步骤推迟入子类实现,以不改变算法架构。策略模式侧重于算法的选择,使算法间可以相互替换并相互独立(算法步骤改变,彼此互不影响)。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值