文章分类 - 设计模式(提升思想)
不需要很高尚的东西,以解决工作问题为主
摘要:NSDate 获取当前时间 要得到当前时间,创建1个NSDate对象就可以了,将这个对象输出,就是当前时间,得到的时间是格林威治的时间(GMT) 北京时间是GMT+8 NSDate *date = [NSDate date]; NSLog(@"%@",date); 格式化输出日期,指定日期输出的格式
阅读全文
摘要:Java 设计模式:代理模式 定义:为其它对象提供一种代理,以控制对这个对象的访问。 使用场景:当无法或不想直接访问某个对象,亦或是访问某个对象存在困难时,可以通过一个代理对象来进行间接访问。 为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口。 示例 感觉文字表述枯燥?那让柯南举个栗
阅读全文
摘要:Java 设计模式:工厂模式和抽象工厂模式 工厂模式 在工厂模式中,创建对象时是不需要向外暴露具体创建逻辑的。我们只需定义出一个专门用于创建对象的接口 (或方法),然后使用方就可以通过定义出来的接口 (或方法) 来创建对象。 注:我们通常所说的「工厂模式」可以理解为「普通工厂模式」,以便与后面提到的
阅读全文
摘要:适配器模式是一种结构型模式: ● 可实现一个适配器类作为两个不兼容接口之间的桥梁, ● 然后将一个接口适配成使用者所预期的另一个接口。 适配器模式的使用场景有: ● 系统需要使用现有的类,但此类的接口不符合系统的需要,即接口不兼容。 ● 想要建立一个可以重复使用的类,使其与一些彼此之间没有太大关联的
阅读全文
摘要:MVP,面向协议的设计模式 简介 从上图看出,在MVC基础上,又抽象出了P层,即Presenter层。 ● MVP的V层是由UIViewController和UIView共同组成的。 ● View将委托Presenter对自己进行操作(Presenter发命令控制View的交互,隐藏orshow之类
阅读全文
摘要:简介 iOS开发中,MVC是构建iOS App标准模式,苹果推荐的一个用来组织代码的权威范式。现在,MVC仍然是主流客户端变成框架,但同时也被调侃成Massive View Controller(重量级视图控制器),有以下几个问题: ● 厚重的ViewController ● 遗失的网络逻辑(无立足
阅读全文
摘要:设计模式:策略模式(Java) 在策略模式中,一个类的行为或其内部的算法是可以在运行时进行更改的。 概述 当一个问题需要多种处理方式且这几种处理方式都仅仅是在具体行为上有差异时,我们可以将这个差异抽象出来作为一个统一的接口。然后,使用者在运行时就可以根据实际情况选择不同的接口实现来处理这个问题,这个
阅读全文
摘要:简单来说,创建一个工厂类,然后创建不同的,但类型相似的对象。例如我们有好多种不同种类的汽车,suv,hotpatch等等。他们全部遵循Car这个协议。也就是说协议给他们定义了接口,不同的汽车有这自己不同的实现逻辑。 enum CarType { casr suv, hotpatch } protoc
阅读全文