动力节点——单例模式(十七)

​一,单例模式

1,设计模式:

模式:就是前人在解决某类问题上总结出来的经验。

设计模式:在软件设计范畴中,针对某些问题最优秀的解决方案。

设计模式在万不得已,需要用的时机自然而然就使用了,不要在编码中为了使用设计模式而编码。

设计模式使用不当会造成软件结构复杂性增强。

2,几种面试需要准备的设计模式

工厂模式、单例模式、责任链模式、装饰器模式、代理模式、模板模式。

3,单例模式

单例模式的目的就是控制一个类永远只有一个对象。


二,单例模式的分析

1,把构造方法的访问权限降低。

2,在自身内部创建一个对象备用。

3,编写一个镜头方法用于返回此对象。

//饿模式

class  T{

        private  static  T  tt=new  T();

        private  T( ){ }

        public  static  T  createT{

                return  tt;

        }

}

public  class  SingletonDemo{

        public  static  void  main(String[]  args){

                 /*

                没有使用private之前,只要使用new就可以创建T对象

                T  tt=new  T();

                为什么T类可以创建很对对象?

                原因是T类的构造方法可以随意在别的类使用,就可以结合new创建对象。

                想实现单例模式的第一步就是控制构造方法的使用,私有构造方法。

                如果构造方法私有了,就不能创建对象。因为私有构造方法只有在本类内部使用,

                所以要在本类中提供一个公开的方法来调用此对象。

                    

                分析到这,类的自身是私有的,类的外部也不能访问,就不能调用。但是我们把它

                定义为静态方法就可以调用了。静态方法可以没有对象而存在,直接使用类调用。

                这样就可以使用静态方法返回这个类唯一的一个实例了。

                */

                T  tt =T.createT();

        }

}


//懒模式

class  T2{

        private  static  T2  tt;

        private  T2( ){ }

        public  static  T2  createT2(){

                //需要判断是否已经存在了T2的对象tt

                //如果没有则创建,如果已经有了则直接返回

                if(tt=null){

                        tt=new  T2();

                }

                return  tt;

        }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值