随笔分类 - 设计模式
摘要:前言 学习设计原则,学习设计模式的基础。在实际开发过程中,并不是一定要求所有代码都遵循设计原则,我们要考虑人力、时间、成本、质量,不是刻意追求完美,要在适当的场景遵循设计原则,体现的是一种平衡取舍,帮助我们设计出更加优雅的代码结构。 开闭原则(Open-Closed Principle, OCP)
阅读全文
摘要:使用装饰模式进行装饰OutputStream 写入文件成功 装饰类继承OutputStream类 测试:
阅读全文
摘要:优点 缺点 使用场景 注意 getInstance() 方法中需要使用同步锁 synchronized (Singleton.class) 防止多线程同时进入造成 instance 被多次实例化。 单例模式分为6种实现方式 1、饿汉式 这种方式比较常用,但容易产生垃圾对象。 优点:没有加锁,执行效率
阅读全文
摘要:概述 属于创建型设计模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂 。 使用场景: 1、在任何需要生成复杂对象的地方,都可以使用工厂方法模式。 2、直接用new可以完成的不需要用工厂模式 一、简单(静态)工厂 我喜欢吃粉,抽象一个粉基类(或者接口),这是产品的抽象类 来一份桂林米粉(具体的产
阅读全文
摘要:一、单一职责原则(Single Responsibility Principle) 定义 : 应该有且只有一个原因引起类的变化 注意 : 这里的类不光指类,也适用于方法和接口,比如我们常说的一个方法实现一个功能 二、里氏代换原则(Liskov Substitution Principle) 定义 :
阅读全文
摘要:建造者模式 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 类型:创建类模式 四个要素 产品(Product)角色 由一系列部件组成,一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本类图中,产品类是一个具体的类,而非抽象类。实际
阅读全文