Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

读《Objective-C 编程之道》 #87

Open
ShannonChenCHN opened this issue Sep 18, 2017 · 14 comments
Open

读《Objective-C 编程之道》 #87

ShannonChenCHN opened this issue Sep 18, 2017 · 14 comments

Comments

@ShannonChenCHN
Copy link
Owner

ShannonChenCHN commented Sep 18, 2017

阅读要点:

  • 代码实践为主,阅读文字描述为辅
  • 以实际应用为目标,重在理解一个设计模式什么时候/场景可以用到,如何用
  • 通过对应用设计模式前后的情况进行对比来理解设计模式的优缺点
  • 第一遍大概了解有哪些设计模式,分别是什么,第二遍再针对某些需要详细了解的进行进一步学习
  • 实际开发中,一个场景可能不止一种设计模式,有可能是多种设计模式同时搭配起来使用的
  • 阅读过程中发现,作者对 Objective-C 语言以及 Cocoa 框架的了解相当深入
@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Sep 18, 2017

大纲

1. 简介

  • 简介
  • 案例分析

2. 对象创建(Object Creation)

  • 原型(Prototype)
  • 工厂方法(Factory Method)
  • 抽象工厂(Abstract Factory)
  • 生成器(Builder)
  • 单例(Singleton)

3. 接口适配(Interface Adaption)

  • 适配器(Adapter)
  • 桥接(Bridge)
  • 外观 (Facade)

4. 对象解耦(Decoupling of Objects)

  • 中介者(Mediator)
  • 观察者(Observer)

5. 抽象集合(Abstract Collection)

  • 组合(Composite)
  • 迭代器(Iterator)

6. 行为扩展(Behavioral Extension)

  • 访问者(Visitor)
  • 装饰(Decorator)
  • 责任链(Chain of Responsibility)

7. 算法封装(Algorithm Encapsulation)

  • 模板方法(Template Method)
  • 策略(Strategy)
  • 命令(Command)

8. 性能和对象访问(Performance and Object Access)

  • 享元模式(Flyweight)
  • 代理模式(Proxy)

9. 对象状态(State Of Object )

  • 备忘录(Memento)

@ShannonChenCHN ShannonChenCHN changed the title 读 Objective-C 编程之道 读 『Objective-C 编程之道』 Sep 18, 2017
@ShannonChenCHN ShannonChenCHN changed the title 读 『Objective-C 编程之道』 读《Objective-C 编程之道》 Sep 19, 2017
@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Sep 19, 2017

1.1 简介

  • 这本书的内容
    • 设计模式相关概念
    • 在各种设计场景下,如何运用设计模式到实践中
    • 设计模式如何增强应用程序
  • 准备工作
    • 线框图
      • 软件:OmniGraffle
      • 类和对象图
    • 网站、源码
  • 基本概念
    • 设计模式简介
      • 什么是设计模式
      • 设计模式是怎么出现的
      • 设计模式的好处
      • 《设计模式》
    • MVC
      • 什么是 MVC
      • Model
      • View
      • Controller
      • MVC 是一种复合设计模式
    • 几个问题
      • 针对接口编程而不是针对实现编程
      • @protocol 和抽象基类
      • 组合 VS. 继承
    • 类和对象图的图示法(基于 OMT 图示法)
      • 类图
        • 协议、抽象类、实体类和 category
        • 实例化动作
        • 继承关系
        • 相识关系
        • 聚合关系
        • 伪代码
      • 对象图

@ShannonChenCHN
Copy link
Owner Author

1.2 案例分析

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 29, 2017

2.1 对象创建之原型(Prototype)

  • 什么是原型模式
  • 何时使用原型模式
  • 深拷贝和浅拷贝
  • NSCopying 协议
  • 实战演练
    • 为树形结构的 Mark 聚合体实现 NSCopying 协议
    • 使用原型模式实现“图样模板”功能

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 29, 2017

2.2 对象创建之工厂方法/类簇模式(Factory Method/Class Cluster)

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Nov 1, 2017

2.3 对象创建之抽象工厂(Abstract Factory)

@ShannonChenCHN
Copy link
Owner Author

2.4 对象创建之生成器(Builder)

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Nov 12, 2017

2.5 对象创建之单例(Singleton)

@ShannonChenCHN
Copy link
Owner Author

3.1 接口适配之适配器(Adapter)

@ShannonChenCHN
Copy link
Owner Author

3.2 接口适配之桥接(Bridge)

@ShannonChenCHN
Copy link
Owner Author

3.3 接口适配之外观(Facade)

@ShannonChenCHN
Copy link
Owner Author

4.1 对象解耦之中介者(Mediator)

@ShannonChenCHN
Copy link
Owner Author

4.2 对象解耦之观察者(Observer)

@hbfangqiao
Copy link

面向对象的编程,大同小异啊。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants