抽象工厂模式

抽象工厂模式

一、什么是抽象工厂模式

抽象工厂(AbstractFactory)是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。

抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产“一个等级”的产品,而抽象工厂模式可生产“多个等级”的产品。

 工厂方法模式

工厂方法模式

一、什么是工厂方法模式?

又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。

即将类的实例化(具体产品的创建)延迟到工厂类的子类(具体工厂)中完成,由子类来决定应该实例化(创建)哪一个类。

被创建的对象称为“产品”,把创建产品的对象称为“工厂”。

 单例模式

单例模式

一、什么是单例模式?

单例设计模式(Singleton Design Pattern):指一个类只有一个实例,且该类能自行创建这个实例的一种模式。

这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。

单例模式有 3 个特点:

  1. 单例类只有一个实例对象
  2. 该单例对象必须由单例类自行创建
  3. 单例类对外提供一个访问该单例的全局访问点

 格式《代码整洁之道》

格式

1. 垂直格式

  • 短的源文件比长的源文件会更好,一般在200行~500行之间为好
  • 源文件的结构应该是从上往下展开,顶部是高层次概念,底下是实现细节,可以简单理解为 public 放在前,private 放在后
  • 每组代码应该是完整的一条思路,不同组代码之间应该用空白行隔开
  • 相关代码应该靠近,避免把相关的概念放到不同文件中,即避免过度使用 protected
  • 变量声明应该尽可能靠近其使用位置
  • 实体变量应该在类的顶部声明
  • 函数调用应该放在一起,也就是被调用者在调用者的下面,保持程序的顺序性
  • 概念相关的代码应该放在一起,相关性越强,彼此之间的距离就应该越短

2. 水平格式

 函数《代码整洁之道》

注释

1. 注释的作用

  • 为了弥补代码表达某种意图时不够清晰的一种手段

2. 注释的缺点

  • 需要写注释,就说明代码很糟糕,代码不能够清晰表达它的意思
  • 注释会随着时间变得腐烂,离其描述的代码越来越远,甚至变得全部是错误的,因为程序员往往不能坚持维护注释

3. 好注释

 函数《代码整洁之道》

函数

1. 短小

  • 函数在保证完整性的情况下,越短越好
  • 每个函数都应该一目了然
  • 长度为 20 行最佳

2. 只做一件事

  • 每个函数应该保证只做一件事
  • 要判断函数是否只做了一件事,可以看是否还能再拆出一个函数
  • 一件事是指在同一抽象层次上完成的动作

3. 每个函数一个抽象层级