黑马程序员:设计模式

---------------------- android培训java培训、期待与您交流! ----------------------


        设计模式,在初学者看来,是个近乎神秘的东西。接触了之后,发现也不过如此。设计模式总结了我们在做程序设计时经常出现的问题和解决方案。通过视频的学习,了解了两种设计模式。

1、单例模式(singleton):某个类只有一个实例,这个类必须自己创建这个实例,并且向整个系统提供。特点是,类的构造方法时私有的,避免外部利用构造方法直接创建多个实例。其三种基本形式如下:

 

//Singleton类一进入内存就已经创建好了对象

public class Singleton
{   
   private static Singleton instance = new Singleton();  

   private Singleton()
   { }
   public static Singleton getInstance()
    {
        return instance;
    }
} 

 

//Singleton类进入类存对象还没创建,只有调用了getInstance()方法时才创建

public class Singleton
{

  private static Singleton instance = null;
  Singleton()
  { }

   public static synchronized Singleton getInstance()    //以线程同步的方式创建
  {
       if(instance == null)
       {   
                instance = new Singleton();   
       }  
    return instance;
   }
} 

 

 //综合了以上两种方式的优点

public class Singleton
{

  private static Singleton instance = null;
  Singleton()
  { }

   public static Singleton getInstance()
  {

        if(instance == null) //这个判断是提高效率,减少对synchronized的判断

       {

            synchronized(Singleton.class) //使用字节码对象锁,给以下代码块加锁
            if(instance == null)
            {   
                   instance = new Singleton();   
            }

       } 
      return instance; 
   }
} 

 

2、享元模式(flyweight):如果很多很小的对象,很多相似的属性,那么就可以把它编成一个对象,还有那些不同的东西把它编成外部的属性,作为方法的参数传入,称为外部状态;那些相同的属性称之为内部状态。特点是:当一个对象平凡用到,要把它封装到某个内存区域,实现共享访问,避免重复创建大量小对象,浪费资源。学习jdk1.5新特性时用到这种设计模式,例如课程中讲到的自动拆装箱过程细节问题:


    Integer i1 = 13;    /*数字若在一个字节内(-128~127)时,就自动将其
    Integer i2 = 13;      缓存,需要时直接从中取出*/
    System.out.println(i1 == i2); //输出true
    Integer i1 = 138;
    Integer i2 = 138;
    System.out.println(i1 == i2); //输出false

 

设计模式目前总共就23种,确实很了不起,以后还要在实践中继续探索!


---------------------- android培训java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima

黑马程序员 设计模式c 是指黑马程序员通过C语言实现设计模式的一门课程。设计模式是面向对象设计中经过实践和总结后的一种解决问题的方案。它是一种具体的设计思路,是编写高质量、易于理解、可维护和可扩展的代码的指导原则。在软件开发中,我们经常会遇到各种各样的问题,设计模式可以帮助我们更加灵活高效地解决这些问题。 黑马程序员设计模式C课程从理论讲解到实践操作,通过C语言来实现各种设计模式,帮助学员理解设计模式的原理和应用场景。通过学习该课程,学员可以提升自己的设计能力和编程水平,使得自己编写的代码更加优雅和可复用。 该课程主要包括以下几个部分:首先是介绍设计模式的基本概念和分类;然后是详细讲解每一种设计模式的原理、结构和应用场景;接着是通过具体的案例来演示如何在C语言中实现每一种设计模式;最后是实际项目实战,让学员能够将所学的设计模式应用到实际的软件开发中。 通过学习黑马程序员设计模式C课程,可以帮助开发人员更好地理解和应用设计模式,提高软件开发的质量和效率。无论是对于初学者还是有一定经验的开发人员来说,都可以从中获得实际的收益。设计模式是编写高质量代码的基石,掌握设计模式可以让我们在编程过程中更加得心应手,实现代码的可维护性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值