iOS设计模式 - 装饰
2023-09-14 08:57:30 时间
// Created by YouXianMing on 15/8/1.
// Copyright (c) 2015年 YouXianMing. All rights reserved.
#import Foundation/Foundation.h
#import "GamePlay.h"
@interface DecoratorGamePlay : NSObject
@property (nonatomic) NSInteger coin;
- (void)up;
- (void)down;
- (void)left;
- (void)right;
- (void)select;
- (void)start;
- (void)commandA;
- (void)commandB;
#pragma mark - 以下为装饰对象新添加的功能
* 剩余几条命
@property (nonatomic, readonly) NSInteger lives;
* 作弊 (上下上下左右左右ABAB)
- (void)cheat;
@end
淘宝iOS扫一扫架构升级 - 设计模式的应用 本文在“扫一扫功能的不断迭代,基于设计模式的基本原则,逐步采用设计模式思想进行代码和架构优化”的背景下,对设计模式在扫一扫中新的应用进行了总结。
1.外观模式简介 外观模式(Facade)在开发过程中的运用频率非常高,尤其是在现阶段各种第三方SDK充斥在我们的周边,而这些SDK很大概率会使用外观模式。
模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中。
建议45:设计模式是特定环境下的特定问题的解决方案 设计模式是某种特定设计的模板或指导原则。 建议46:MVC模式是一种复合或聚合模式 MVC 是一种高级别的模式,关注的是应用程序的全局架构,并根据各种对象在程序中发挥的作用对其进行分类。
// // DecoratorGamePlay.m // DecoratorPattern // Created by YouXianMing on 15/8/1. // Copyright (c) 2015年 YouXianMing. All rights reserved. #import "DecoratorGamePlay.h" @interface DecoratorGamePlay () @property (nonatomic, strong) GamePlay *gamePlay; @implementation DecoratorGamePlay #pragma mark - 初始化 - (instancetype)init { self = [super init]; if (self) { // 装饰对象包含一个真实对象的引用 self.gamePlay = [GamePlay new]; return self; #pragma mark - 让真实对象的引用执行对应的方法 - (void)up { [_gamePlay up]; - (void)down { [_gamePlay down]; - (void)left { [_gamePlay left]; - (void)right { [_gamePlay right]; - (void)select { [_gamePlay select]; - (void)start { [_gamePlay start]; - (void)commandA { [_gamePlay commandA]; - (void)commandB { [_gamePlay commandB]; #pragma mark - 装饰器新添加的方法 - (void)cheat { [_gamePlay up]; [_gamePlay down]; [_gamePlay up]; [_gamePlay down]; [_gamePlay left]; [_gamePlay right]; [_gamePlay left]; [_gamePlay right]; [_gamePlay commandA]; [_gamePlay commandB]; [_gamePlay commandA]; [_gamePlay commandB]; @synthesize lives = _lives; - (NSInteger)lives { // 相关处理逻辑 return 10; @end
分析
以下是装饰模式实现细节对照图
淘宝iOS扫一扫架构升级 - 设计模式的应用 本文在“扫一扫功能的不断迭代,基于设计模式的基本原则,逐步采用设计模式思想进行代码和架构优化”的背景下,对设计模式在扫一扫中新的应用进行了总结。
1.外观模式简介 外观模式(Facade)在开发过程中的运用频率非常高,尤其是在现阶段各种第三方SDK充斥在我们的周边,而这些SDK很大概率会使用外观模式。
模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中。
建议45:设计模式是特定环境下的特定问题的解决方案 设计模式是某种特定设计的模板或指导原则。 建议46:MVC模式是一种复合或聚合模式 MVC 是一种高级别的模式,关注的是应用程序的全局架构,并根据各种对象在程序中发挥的作用对其进行分类。
相关文章
- iOS小技能: 限制按钮的点击频率(Target-Action设计模式的运用)
- iOS 小技能: Responder Chain(响应者链)【下篇】
- iOS 根据已知NSDictionary的value找key[通俗易懂]
- iOS 获取本地图片尺寸_ios图片处理软件
- Windows平台上也可以进行iOS App的开发
- 国内首个量子人工智能计算中心落户无锡;天津高速公路进入“数字人民币时代”;阿里云盘 iOS 版 4.0 正式版发布丨每日大事件
- IOS – OpenGL ES 调节图像灰色 GPUImageGrayscaleFilter
- iOS 多线程:『GCD』详尽总结(二)
- 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)
- iOS获取文件路径详解手机开发
- iOS调用相册和摄像头详解手机开发
- ios后台更新和下载详解手机开发
- ios基础:iOS改变状态栏字体颜色详解手机开发
- Linux与iOS之间的技术对比(linux和ios)
- 操作系统开启iOS时代:Linux操作系统的新篇章(ios是linux)
- 操作系统比较:iOS 与 Linux 操作系统(ios与linux)
- iOS与Linux:新老技术的融合(ios与linux的关系)
- 在iOS上安装Linux系统的挑战(ios上安装linux)
- 基于Linux环境下iOS应用开发实践(linux下开发ios)
- 命令终端调试:iOS 与 Linux 命令对比(ioslinux终端)
- 应用Linux上编译IOS应用:实现跨平台体验(linux编译ios)
- Linux和iOS系统有什么不同?(linuxios系统)
- 开启一个崭新世界:Linux与iOS系统(linux系统ios)
- iOS让Oracle无处不在(ios支持oracle么)
- 使用iOS就能操作Oracle数据库(ios上oracle)