iOS架构设计模式

iOS设计模式(一)-认识设计模式

2018-07-24  本文已影响36人  陵无山

设计模式名称解释

设计模式的作用

列如,通过给程序的变动部分定义接口而对其封装和隔离,这些部分的变动就独立于程序的其他部分,因为它们不依赖于任何细节.以后就可以变更或扩展这些可变的部分而影响程序的其他部分. 程序将因此能够更灵活而可靠地进行变更,因为我们消除了部分与部分之间的依赖关系并减少了耦合.

iOS中的基础设计模式MVC

起源

M-模型:封装数据和基本行为

V-视图:向用户展示信息(M)

C-控制器:联系其模型和视图

复合设计模式MVC:由其他设计模式组合而成

图1-1展示了虚构场景下的这些模式是如何协同工作的


图1-1虚构场景下的这些模式是如何协同工作的

iOS中的一些设计原则

针对接口编程,而不是针对实现编程

  • 关注点在于接口(Interface)和类(Class)的设计,而不是沉迷于功能的实现
  • 具体的做法是:客户端(在你设计的类的调用端)代码中不声明特定具体类的变量,而只使用协议或抽象类定义的接口,这种思想非常重要是对设计模式的一种规律总结
  • 这是由Gof提出的面向对象软件设计原则

协议(protocol)和抽象基类

定义

区别

对象组合和类继承

类继承或者子类化可以使得用其他的类来定义新类的实现. 子类化常被称为白箱复用(white-box reuse),因为父类的内部描述与细节通常对子类是可见的.
对象组合可以代替类继承.对象组合要求被组合的对象具有定义良好的接口,并且通过从其他对象得到引用在运行时动态定义.对象组合可以构建更加复杂的功能,对象组合是黑箱复用(black-box reuse)

类继承的优缺点
优点:

缺点:

由于类继承中类的实现依存关系,对子类进行复用可能会有问题.有个解决办法是:只从协议或抽象基类继承,因为它们只有很少的实现,而协议则没有实现

对象组合优缺点
对象组合让我们同时使用多个对象,而每个对象都是假定其他对象的接口正常运行.因此为了在系统中正常运行,它们的接口都需要经过精心的设计.

优点:

缺点:

尽管对象组合缺点很多,但对象组合仍能带来许多好处.我们可以通过在某些部分使用类继承来克服这些去缺点,使得利用已有组件创建新的组件较为容易

优先使用对象组合而不是类继承

上一篇 下一篇

猜你喜欢

热点阅读