美文网首页
设计模式

设计模式

作者: 小李不木 | 来源:发表于2021-08-30 18:36 被阅读0次

设计模式: 类簇

在iOS的Foundation框架中,类簇是一种常用的设计模式,将一些相近的,私有的,具体的子类组合在一个实体的抽象类下面。平时常用的三大类,NSString,NSArray,NSDictionary 都是类簇,通过这些类创建的对象都是其子类对象的实例化对象,并不是这些类本身的实例化。

NSString * str = [[NSString alloc]initWithCString: "2" encoding:0];

NSLog(@ "%@" ,[str  class ]);

结果如下:真实的对象是NSString的子类__NSCFString进行实例化的。

真是类型

设计的优势:

NSNumber:在创建数字对象的时候,如果是int值,需要一个IntNumber的类,float值,需要一个FloatNumber类,如果foundation框架真这么设计的话,那么你现在就痛苦了,要记住好多这样相似的类,调用方法时也要相应的对象调其内的方法,这使开发变得更加繁琐,并且对于开发者来说,并不需要知道具体我创建了什么类,只想让他完成既定的方法。

应用场景:

(1)当一个类并不知道要创建的具体对象是什么,交由子类处理

(2)当一些类有相似的行为和结构,只是具体实现不同时,可以抽象出工厂

(3)使用者并不在乎具体类型,只在乎接口约定的行为,并且这种行为有个体差异

参考:

工厂设计模式的探讨——iOS类簇的应用分析_weixin_34302561的博客-CSDN博客  

iOS设计模式之类族(class cluster) - 俊华的博客 - 博客园  类簇的详解 👍👍

iOS-设计模式在开发中的应用 - 简书

iOS 设计模式 - 简书

iOS应用架构谈 网络层设计方案 - Casa Taloyum

iOS中常用的设计模式_小毅哥哥的博客-CSDN博客_ios 设计模式 这篇写的几个模型很好理解 

iOS架构补完计划--设计模式 - 简书

单例置为nil 没用  : iOS 设置单例为nil_jihengcong的博客-CSDN博客

代理是一对一的,响应栈内最近一个代理对象(多为传值,相连的页面)

观察者模式(通知机制,KVO机制)

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 简而言之,就是A和B,A对B的变化感兴趣,就注册A为观察者,当B发生变化时通知A,告知B发生了变化。这个也叫做经典观察者模式。

KVC (不是设计模式,只是个键值对编码方法)

相关文章

  • 设计模式

    常用的设计模式有,单例设计模式、观察者设计模式、工厂设计模式、装饰设计模式、代理设计模式,模板设计模式等等。 单例...

  • 设计模式笔记汇总

    目录 设计原则 “依赖倒置”原则 未完待续... 设计模式 设计模式——策略模式 设计模式——装饰者模式 设计模式...

  • 设计模式

    《C#设计模式》 《C#设计模式》-设计模式概述 《C#设计模式》-面向对象设计原则 《C#设计模式》-单例模式 ...

  • 浅谈JS的一些设计模式

    @(书籍阅读)[JavaScript, 设计模式] 常见设计模式 设计模式简介 设计模式概念解读 设计模式的发展与...

  • 前端设计模式

    JS设计模式一:工厂模式jS设计模式二:单例模式JS设计模式三:模块模式JS设计模式四:代理模式JS设计模式五:职...

  • 设计模式之工厂模式

    设计模式之工厂模式 标签(空格分隔): 设计模式 工厂模式 设计模式的感念 设计模式的应用 工厂设计模式的产生 工...

  • JavaJavascript基础进阶(十七)JS中常用的设计模式

    单利设计模式、构造原型设计模式、发布订阅设计模式、promise设计模式 单利模式 构造原型设计模式 最贴近OOP...

  • 设计模式 - 目录

    设计模式01 - 单例模式 设计模式02 - 工厂模式 设计模式03 - 建造者模式 设计模式04 - 适配器模式...

  • 第1章 设计模式概述

    一、设计模式的概念 二、设计模式的历史 三、设计模式的要素 四、设计模式的分类 ■ 创建型设计模式 ■ 结构型设计...

  • iOS设计模式(3)适配器模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(4)抽象工...

网友评论

      本文标题:设计模式

      本文链接:https://www.haomeiwen.com/subject/ucycuctx.html