设计模式

设计模式:

            1责任链模式

            2桥接模式

            3适配器模式

            4单例模式

            5命令模式

设计模式_第1张图片
六大设计原则

单一职责原则: 一个类只负责一件事

开闭原则       : 对修改关闭、对扩展开放

接口隔离原则: 使用多个专门的协议、而不是一个庞大臃肿的协议

                           协议中的方法应当尽量少

依赖倒置原则: 抽象不应该依赖于具体实现,具体实现可以依赖于抽象

                            (比如增删改查只依赖于接口定义,内部的sql、plist等方式不关注)

里氏替换原则: 父类可以被子类无缝替换,且原油功能不受任何影响

迪米特法则    :一个对象应当对其他对象尽可能少的了解(高内聚、低耦合)


责任链模式

设计模式_第2张图片

桥接模式

设计模式_第3张图片
场景如下,同个VC中使用不同的网络数据,并可以做多种处理

简单介绍下桥接模式?

适配器模式

一个现有类需要适应变化的问题?

                ·对象适配器

                ·类适配器

不修改原有类的方法拓展其功能。

单例模式

+ (id)sharedInstance

{

    // 静态局部变量

    staticMooc*instance =nil;

    // 通过dispatch_once方式 确保instance在多线程环境下只被创建一次

    staticdispatch_once_tonceToken;

    dispatch_once(&onceToken, ^{

        // 创建实例

        instance = [[superallocWithZone:NULL]init];

    });

    returninstance;

}

// 重写方法【必不可少】防止对外界对象直接alloc生成

+ (id)allocWithZone:(struct_NSZone*)zone{

    return [self sharedInstance];

}

// 重写方法【必不可少】防止对外界对象copy生成

- (id)copyWithZone:(nullableNSZone*)zone{

    return self;

}

命令模式

对行为进行参数化的设计模式(微博转发、评论、赞) 

作用:降低代码重合度

设计模式_第4张图片

你可能感兴趣的:(设计模式)