最近离职,在家闲来无事,略微总结下在IOS开发中常见的几种设计模式。
先说下MVC这种模式吧,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。我个人认为,把MVC说成一种设计模式,并不很适合。MVC更像一种框架典范。在实际编写项目之前,应该先想好整个项目架构层次,要层次明确,清晰明了。否则当整个项目的业务逻辑十分复杂的时候,就很难进行维护和修改,只能推倒重做。
几种常见的设计模式。
1,单例模式:这个模式 主要特点是在整个程序中只创建一次,并在整个生命周期都不会被释放,直到整个程序结束才会被释放。因此缺点也是显而易见的,整个生命周期中都一直占用内存。
2,工厂模式:简单的说,就是按一种已经声明的标准批量生产产品。其实我们在Xcode中很常用这种模式,比如便利构造器就是工厂模式的体现。
3,抽象工厂模式:类似于C++中的纯虚函数,不能实例化,只能在子类中实例化,当然在Xcode中并没有调用抽象工厂模式,只有类似的,比如UIViewController类和UIView类,系统都不推荐我在这两个类中实例化 ,而是在其子类中实例化。
4,中介者模式:通俗的说就是在众多对象之间处理众多对象相互之间关系的角色。在Xcode中的体现有navigationcontroller,tabbarcontroller。
5,观察者模式:这个是一个很常见的模式,在Xcode中常见的有通知中心和KVO。KVO(键-值-监听)适用于小范围且相互之间存在业务逻辑,而通知中心适用与大范围相互之间业务逻辑不强。
6,装饰者模式:最典型的就是tableView
7,外观模式:在Xcode中体现如NSNumber(类簇)
8,适配器模式:适配就是由“源”到“目标”的适配,而当中链接两者的关系就是适配器。它负责把“源”过度到“目标”。在Xcode中体现 如为按钮添加点击事件的这个方法就是运用适配器模式。
PS:小编刚才出门把钱包丢了,身份证在里面。现在心情低落,很多地方没有写到,以后会补全的。