《Swift 设计模式》读书笔记

评估设计模式:1、这个模式是否涵盖了我可能遇到的问题?2、这个问题发生的频率如何?3、我对解决未来某个问题的在意程度,是否足以让我现在花费精力去实现这个设计模式?

对象模板模式

是什么:

对象模板模式使用类或者结构体作为数据类型及其逻辑的规范。创建对象时使用模板,并在初始化时完成数据赋值。赋值时,要么使用模板中的默认值,要么使用类或者结构体的初始化器(也叫构造器)来提供数值。

有什么优点:

对象模板模式为 将数据与操作数据的逻辑组织在一起,即封装,提供了基础。封装使得对象可以在为其用户提供接口(API)的同时,隐藏接口的内部实现。这有利于防止组件之间形成紧耦合。

何时使用此模式:

除非是及其简单的项目,否则都应该使用此模式。尽管元组是 Swift 很有意思的特性,但是从长远来看,使用它表示数据会引发一些维护问题,而且创建一个类或者结构体并不是很复杂。

如何确定使用了正确的设计模式:

如果修改类或者结构体内部实现时,使用了此模式的组件无需做出相应的改变,则说明正确的实现此模式。

有哪些常见的陷阱:

唯一的陷阱是,应该使用类作为模板的时候却使用了结构体。结构体和类具有很多共同之处,但是当把它们创建的对象赋值给新变量时,它们的行为并不一致。

对象模式由三步操作组成:

1、第一步操作是调用组件请求 swift 运行时创建一个对象,并提供需要用到的模板名称,配置创建对象需要的运行时数据值。

2、在第二步操作中,swift 运行时分配存储该对象所需的内存,并使用模板创建该对象。模板中含有用于准备对象(设置初始数据)需要使用的初始化方法,这些方法要么使用调用组件提供运行时值,要么使用模板中定义的值(或者同时使用)来设置对象的初始状态。swift 运行时会调用这些方法来准备对象,以供调用组件使用。

3、swift 运行时把创建好的对象返回给调用组件。三步走的过程可以任意重复,因此一个模板可以创建多个对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,250评论 4 61
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 喜欢树,由来已久。 小时候,家门前的小河边,父亲种了一排水杉树,大约有7棵,我和哥哥渐渐长大,水杉树也渐渐长大。二...
    像一棵开花的树阅读 560评论 3 4
  • 康科德是个小镇 里面埋葬死人 活人哀悼他们 然后将自己埋入坑中 就像木乃伊企图重生的欲望 镇子是世界的缩影 所以悲...
    ohmymom阅读 372评论 6 9
  • 背景 由于公司业务需求,需要更改已上线APP的公司名称. 赶紧上网查资料1.通过iTunes Connect 页面...
    狐狸_玫瑰阅读 565评论 0 0