java 设计模式之(四):单例设计模式

一.什么是单例模式

1.什么是单例模式

单例模式就是一个类对外只有一个实例

2.场景
  • 实例化类需要消耗很多的资源
  • 该类只能实例化一次,对外是唯一的对象
3.表现形式:
  • 构造方法是私有的,即外部是无法实例化该类的
  • 有一个保存当前实例的私有静态变量
  • 有一个对外开放的访问该类对象的方法
4.单例的线程安全性检测

通过多线程调用单例的获取实例的方法,检查每次的实例是否相同

二.单例模式的实现方式

1.饿汉式(线程安全)

java 设计模式之(三):抽象工厂设计模式

抽象工厂内容概要

一.定义

提供一个创建一系列相关或相互依赖对象的接口

二.角色

  • 1.抽象工厂
  • 2.抽象产品(多个)
  • 3.具体产品(多个)
  • 4.具体工厂(多个)

    三.适用场景

  • 客户端不依赖于产品类实例如何被创建、实现等细节
  • 强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码
  • 提供一个产品类的库,所有的产品以同样的接口出现,从而使用客户端不依赖于具体实现

四.优缺点

(1).优点
  • 具体产品在应用层代码隔离,

java 设计模式之(二):工厂方法设计模式

工厂方法模式内容概览

一.定义

定义一个创建对象的的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行

二.适用场景

  • 创建对象需要大量重复的代码
  • 客户端不依赖于产品类实例如何被创建、实现等细节
  • 一个类(接口)通过其子类来指定创建哪个对象

三.角色

  • 产品接口: 所有产品的父类,负责描述产品的公共接口
  • 产品实现类: 具体产品实体
  • 工厂接口: 所有工厂的父类,负责描述工厂的公共接口
  • 具体产品的工厂实现类

java 设计模式之(一):简单工厂设计模式

本章内容概要:

简单工厂内容概要

一.概念

根据不同的参数返回不同的类的实例

注:简单工厂模式不在GOF四人组所列的23种设计模式之中

二.角色

1.工厂 : 负责创建不同的类的实例
2.抽象产品(接口) : 所有产品类的父类,负责描述产品的公共接口
3.具体产品 : 具体的产品的目标

三.优缺点

1.优点
  • 客户端无须知道创建具体的产品类名,只需知道具体产品对象的参数即可
  • 通过引入配置文件,可以在不修改任何客户端代码的情况下更

java 设计模式前篇之面向对象设计模式7大原则

一.面向对象设计原则

在面向对象编程时,以面向对象的设计原则为指导,开发可扩展性和维护性高的程序,多个原则需要适当取舍,达到业务与技术的一个平衡.

二.具体原则

1.开闭原则

(1).定义:对修改关闭,对扩展开放

  • 作用: 用抽象构建框架,用实现扩展细节
  • 优点:提高软件系统的可复用性和可维护性(可扩展性)
  • 实例:

以商城为例:

  1. /**
  2. * 商品接口
  3. * @author shixinke
  4. */
  5. public i