如何充分利用iOS开发的设计模式优势
先说MVC1。这种设计模式是几乎所有带UI层的系统都必须遵循的设计原则。就IOS开发而言,MVC几乎都是别人设计的。这种设计模式是N种设计模式的组合,具体的操作系统或编程语言可能略有不同,比如windows、mac os/ios、android/java。具体到ios的MVC,我们使用的是委托(或代理)模式,参考系统启动的删除代理,或者使用一些控制组件时要遵循的代理协议。当事件是分布式的或者/和责任链模式是混合模式时使用的观察者设计模式。
IOS和objective-C中访问文件的API相当简单,这是我在java中从未见过的。这种封装也应该使用设计模式。我描述过,但是不记得了。我可以实现一些非常详细的代码,然后在使用的时候把这些代码组合起来。对于客户端来说非常简单,实现的所有代码也可以提供给客户端免费使用。是叫组合还是某种设计模式?
IOS中用来序列化对象的协议体现了多态和抽象的原则。
我个人理解,设计模式的大部分框架已经完成,只要直接使用就可以了。
如果想在项目中使用设计模式中的思路,在IOS上能实现的,在于数据模型和自己的业务处理逻辑。这个设计看你的设计模式有多高。
最后,设计模式是解决具体问题的一些很好的参考方法。如果项目不够大,没必要采用它们。原因很简单。使用设计模式会增加代码的复杂性。比如真正采用策略设计模式时,会增加代码量,甚至牺牲性能(一般应用系统不需要考虑的影响并不明显)。然而,设计模式的使用也是有益的,它可以增加软件的可维护性、可扩展性和可重用性。所以,如果可以预期项目越做越大,考虑使用一些设计模式,可以避免系统后期扩展出现问题,避免重复测试一些测试过的功能。
我自己的经验,采用一些设计模式的概念,对代码部署、修改、后期维护大有裨益。但是不一定要用一次性项目或者小项目。