单子设计模式

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());
 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值