设计模式

  • 《大话设计模式》读书笔记-第21章 单例模式

    1.单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2.通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是让类自身负责保存它的唯一实例,这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 3.单例模式(Singleton)结构图   4.在多线程的程序…

    设计模式 2023年4月13日
    00
  • 《大话设计模式》读书笔记-第7章 代理模式

    1.代理模式(proxy),为其他对象提供一种代理以控制对这个对象的访问。 2.代理模式(Proxy)结构图      3.代理模式使用的场合:①远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。如WebService在.NET中的应用。②虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时…

    设计模式 2023年4月13日
    00
  • 《大话设计模式》读书笔记-第6章 装饰模式

    1.装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 2.装饰模式(decorator)结构图                 Component是定义一个对象的接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decor…

    设计模式 2023年4月13日
    00
  • 《大话设计模式》读书笔记-第2章 策略模式

    1.面向对象的编程并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。 2.策略模式(Strategy)定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 3.策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可…

    设计模式 2023年4月13日
    00
  • 《大话设计模式》读书笔记-第5章 依赖倒转原则

    1.依赖倒转原则,也叫依赖倒置原则,即高层模块不应该依赖低层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖于抽象。说白了就是要针对接口编程,不要对实现编程。 2.里氏代换原则(LSP):子类型必须能够替换掉它们的父类型。即一个软件实体如果使用的是一个父类的话,那么一定适用其子类,而且它察觉不出父类对象和子类对象的区别,也就是说,在软件里面,把父类…

    设计模式 2023年4月13日
    00
  • Java设计模式:工厂模式

    问题提出 Java的工厂模式与现实生活中的工厂的模型是很相似的。工厂是用来做什么?当然是用来生成产品。因此在Java的工厂模式的关键点就是如何描述好产品和工厂这2个角色之间的关系。   下面来仔细描述一下不同的关系以及对应的设计模式 1)单一产品系,工厂只生产一种类型的产品 让我们简单构思一下简单的工厂生产模型,既然只有一个产品,那只需要一个车间就好了,一个…

    设计模式 2023年4月13日
    00
  • Java设计模式:观察者模式

    问题提出:   在生活实际中,经常会遇到多种对象关注一个对象数据变化的情况。例如,生活中有温度记录仪,当温度发生变化时,需要完成如下功能:记录温度日志,显示温度变化曲线,当温度越界时扬声器发出声音。可能写出以下程序段。 While(温度变化){   记录温度日志;   显示温度变化曲线;   当温度越界时扬声器发出声音; } 这种方法把所有功能集成字一起,但…

    设计模式 2023年4月13日
    00
  • Java设计模式:生成器模式

    问题的提出: 有些类很容易创建对象,直接调用其构造方法,例如Student student = new Student(“1001”,”zhang”,21); 之所以容易创建,因为其类成员都是基本数据类型或者封装类,或者字符串。但是如果对象的类成员还是对象,那么创建这个对象还需要产生该对象成员的具体对象。 public class Unit1 { } pub…

    设计模式 2023年4月13日
    00
  • Java设计模式:桥接模式

    问题提出 生活中有很多事物集合,设为A1,A2……Am ,而每个事物都有功能F1,F2….Fn. 例如邮局的发送业务。简单模拟有两类事物:信件和包裹,均有平邮和挂号邮寄功能。程序设计中如何来描述这些功能呢?或许一般会与下面代码相似。 public class A1 { void F1(){} void F2(){} } public class …

    设计模式 2023年4月13日
    00
  • Java设计模式:代理模式(二)

    承接上文 三.计数代理 计数代理的应用场景是:当客户程序需要在调用服务提供者对象的方法之前或之后执行日志或者计数等额外功能时,就可以用到技术代理模式。计数代理模式并不是把额外操作的代码直接添加到原服务中,而是把它们封装成一个单独的对象,这就是计数代理。 考虑这样一个应用,用计数代理统计图书馆中每天借阅书籍的具体次数。 1.定义书籍基本类Book public…

    设计模式 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部