做iOS开发的同学都非常熟悉代理模式,为避免代码耦合,代理模式的委托者任务交给代理执行,代理执行完毕之后再把回调告诉委托者。委托者不关心代理是怎么执行任务的,只关心结果是成功还是失败。代理模式就像是杀手与雇主的关系一样。…
标签:设计模式
谈谈集合遍历与 NSFastEnumeration
数组遍历或集合遍历可能是程序员每天都会接触到的事情。图灵完备中也要求程序必须可以有条件进行跳转,而集合遍历的过程一定离不开条件跳转,所以这种循环结构就是计算机中非常优美的地方。 到目前为止如果谈到数组遍历问题,我会想到下…
[译] 为何我抵制使用缓存?
原文地址:The Caching Antipattern 原文作者:ROBERT STIFF 译文出自:掘金翻译计划 译者:王子建 校对者:tanglie、瞿祥轩 为何我抵制使用缓存? TL;DR – 错误地…
异步多条件依赖模型解决方案 - 条件仓库模式
从一个例子开始 现在假定一个开发人员,我们可以称他为小Y,他在负责公司C的一个移动端产品的开发。当前的工作进展是小Y正在开发产品的登录页面。这是一个很简单的页面,就想你所知道的最典型的登陆页面一样,包含一个账户名、一个密…
装饰器模式(从放弃到入门)
@(设计模式) 前面介绍了两篇设计模式,策略模式和观察者模式,其实自己也是在学习阶段,感觉收益很大。所以想继续分享,把java中的23中设计模式都总结一遍,在以后才能在实践中灵活运用。感兴趣的童鞋可以看看前面分享的两篇:…
Learning JavaScript Design Patterns
Preface Design patterns are reusable solutions to commonly occurring problems in software design. They are bot…
《Head First 设计模式》之单件模式
单件模式(Singleton) ——确保一个类只有一个实例,并提供全局访问点。 有一些对象其实我们只需要一个,比如线程池、缓存、对话框、处理偏好设置和注册表的对象、日志对象。如果制造出多个实例,就会导致程序的行为…
[Head First设计模式]抢票中的设计模式——代理模式
系列文章 [Head First设计模式]山西面馆中的设计模式——装饰者模式 [Head First设计模式]山西面馆中的设计模式——观察者模式 [Head First设计模式]山西面馆中的设计模式——建造者…
设计模式之建造者模式(Builder)
一个人活到70岁以上,都会经历这样的几个阶段:婴儿,少年,青年,中年,老年。并且每个人在各个阶段肯定是不一样的呀,我觉得可以说世界上不存在两个人在人生的这5个阶段的生活完全一样,但是活到70岁以上的人,都经历了这几个阶段…
设计模式-装饰器模式
前言 点击查看:设计模式系列 装饰器模式(Decorator) 定义:不通过派生类增改类属性动作,而是通过模式设计动态的达到这种效果,而且比继承更方便灵活减少程序的复杂性。 举例: 汪峰打造冠军团队。 首先团队类为空,经…
Android 源码设计模式解析与实战 读书笔记 1
第一章 走灵活软件之路 —— 面向对象的六大原则 优化代码的第一步 —— 单一职责原则 单一职责原则的英文名称为 Single Responsibility Principe,缩写为 SRP,定义是:就一个类而言,应该就…
JS 中的设计模式了解一下?
更多文章参见: github.com/elevenbeans… 前言 本系列可以看作是我个人对于 Addy Osmani 的著作《Learning JavaScript Design Patterns》中内容的提炼,类似…