重读《大话设计模式》,回忆曾经学习过的设计模式,并记录一点所得和感悟。
代码无错就是优? 编程是一门技术,牛掰的会把它搞成艺术。
编码注意代码规范。
面向对象编程 和 面向过程编程是,好的代码要 易维护,可扩展,可复用。
活字印刷——》 面向对象(封装,继承,多态把程序的耦合度降低)
1:简单工厂模式
简单来说就是,实现一个公共的类,能够实例化出合适的对象,通过多态, 返回父类的方式。
/// 简单工厂模式
/// Swift code implement, and review swift code
public class OperationFactory {
static func createOperate(operate: String) -> Operation? {
switch (operate){
case "+":
return OperationAdd()
case "-":
return OperationSub()
case "*":
return OperationMul()
case "/":
return OperationDiv()
default:
break
}
return nil
}
}
class Operation {}
class OperationAdd:Operation{}
class OperationSub:Operation{}
class OperationMul:Operation{}
class OperationDiv:Operation{}
2:UML图
注意其中几种类之间关系,类和接口的表示方式。
关系:
1:继承关系:空心三角+实线来表示。泛化关系是一种继承关系,表示特殊和一般的关系。(鸟 --> 鸭,大雁,企鹅)
2:关联关系:实线箭头表示。(企鹅--> 气候)
3:合成关系:一种强的’拥有‘关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。 使用 实心菱形+实线箭头来表示,两端还会有数字 ’1‘ or 'n'. (鸟 1--> 2翅膀)
4:聚合关系:表示一种弱的’拥有‘关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。使用 空心的菱形+实线箭头来表示。(燕群 --> 燕子)
5:依赖关系:虚线箭头来表示。