首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS设计模式
订阅
偶心依旧来
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
设计模式系列8--策略模式
场景分析 我们在网上购买商品的时候,经常遇到各种打折优惠活动,不同的节假日或者时间优惠策略都不相同,如果让我们去实现,那么如何做呢? 常规做法是根据不同的优惠政策,使用if进行判断,写很多判断分支进行处理。类似下面这种。 if (正常价格) { //具体优惠策略处理 }else…
设计模式系列13--享元模式
image 我们来做一个很简单的小程序:在界面上随机显示10万朵小花,这些小花只有6种样式。如图所示: image 一看,这还不简单,直接创建10w个imageview显示不就是了,代码如下: - (void)viewDidLoad { [super viewDidLoad];…
设计模式系列9--状态模式
image 今天我们来做一个糖果机吧,用户只需要投入25美分,就可以购买糖果了,具体的构造如下图所示: image 每个圆圈都表示一种状态,而每个箭头都表示一种动作,这些状态随着不同动作的进行就可以不断切换。从图中可以看到我们有四种状态和四种动作,那么废话不多说,下面我们就来看…
设计模式系列 14-- 单例模式
在开发中经常会用到单例设计模式,目的就是为了在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放。下面我们来看看单例的概念、用途、如何创建,以便加深理解。 定义 保证一个类仅有一个实例, 并提供一个访问它的全局访问点。 作用 在应用这个模…
设计模式系列10--装饰者模式
image 大部分公司都有销售团队,假设老板给你布置了一个任务,让你按照下面的要求开发一套程序来计算销售团队每个月的工资。 每个人当月业务奖金 = 当月销售额 * 3% 每个人的累积奖金 = 总的回款额 * 0.1% 销售经理的团队奖金 = 团队总销售额 * 1% 每个人的工资…
设计模式系列3--中介者模式
image 我们使用的电脑,你完成的任何一个功能都需要cpu、内存、显卡、键盘、显示器等这些零件相互调用才能完成功能,如果让这些零件之间直接互相调用,那么他们之间的关系可能如下图所示,非常凌乱复杂: image 但是电脑开发商并没有让这些零件之间相互直接调用,而是通过主板来统一…
设计模式系列2--三大工厂模式
image 今天学习下最常见的工厂模式,工厂模式细分下来有三大类: 1. 简单工厂 2. 工厂模式 3. 抽象工厂模式 他们的目标都是一样的:封装对象的创建。但是实现手段和使用场景却是不相同。使用的时候三个模式也可以互相替换使用,导致很容易混淆三者。 下面我们来具体看看三者的使…
设计模式系列4--生成器模式
image 假设我们要生产一台手机,为了方便我们把生产手机的步骤分为三大步: 生成cpu 生成其他零配件 生成屏幕 然后把这三部生成的产品组装起来就生成了一部手机。假设我们要生成不同品牌的手机那么就要不断重复着三个步骤去生成不同的产品然后组装。可以发现在这个过程中,生成一部手机…
设计模式系列 11-- 桥接模式
image 假设要实现一个给客户发送提示消息的功能,发送的消息类型可分为:普通消息、加急消息、特加急消息等等,而每种消息的发送的方式一般有:系统内推送、手机短信、电子邮件等等。如果让我们来实现,会怎么做呢? 我们先来实现一个简单的版本,使用系统推送和电子邮件发送普通消息,实现起…
设计模式系列 15-- 最终篇
image 终于要写完这个系列了,GOF 的设计模式总共有 23 种,我在前面的篇章只写了其中 16 个,剩下的 7 个放到这篇文章一起写了。因为这 6 个设计模式要么是 iOS 自身语言特性已经实现了,要么是没有什么太大的利用价值,所以放在一起简单讲解下。 今天要学习如下 7 种设计模式: 原型模式 …