单子设计模式

1 什么是设计模式: 在大量实践中总结和理论化之后,优选的代码结构,编程风格,以及解决问题的方案。

2设计模式的四个组成部分:

一 模式名称:(pattern name): 描述模式所解决的问题方案以及效果。

二 问题(Problem): 描述何时使用模式

三 解决问题的方案(Solution): 描述模式的组成部份和各部份相互职责和协作关系。

四 效果(consequnce):描述使用模式的效果以及使用模式对应的权衡问题。

2单子设计模式:

需求背景 :采用一定的办法在整个软件中,某个类的实例对象在内存中只存在一个,也就是说这个类的实例对象只允许产生一个,外部不能根据该类的构造方法任意产生对象。

解决方式:构造方法定义为私有的,不允许外部对其直接访问。

定义一个公共的静态方法取得本类产生实例对象的方法。

定义一个静态的本类类型的成员变量保存私有方法产生的实例对象。

public class SingletonPattern {

private double r;
private static SingletonPattern sp;
private SingletonPattern(){
r= java.lang.Math.random();
}
public static SingletonPattern getinstance(){
if(sp == null){
sp = new SingletonPattern();
}
return sp;
}
public double getr(){
return r;
}
public static void main(String[] args) {

SingletonPattern sp1 = SingletonPattern.getinstance();
SingletonPattern sp2 = SingletonPattern.getinstance();
System.out.println(sp1.getr());
System.out.println(sp2.getr());
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值