所谓的设计模式

在这边对前面的章节做一个简短的回顾。

我们在前面提到了许多名词,像是Delegate、Singleton、Notification Center、Abstract Factory…等等,这些名词用来描述我们平常撰写程式时所使用的方法,我们通常会称为「设计模式」(Design Pattern )。

根据Wikipedia的解释,设计模式就是「在软件设计中,针对一般问题、并且可以重复使用的解决方案」(a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design)。

iOS 与Mac OS X 中大量使用上面提到的这些设计模式,但其实平常在开发的时候,我们倒不会刻意强调设计模式,因为使用的数量已经多到像是呼吸喝水一样自然。像我们开始写第一行iOS 程式的时候,可能会写在AppDelegate 中,而AppDelegate 这个名词本身就带有两个设计模式的意味:AppDelegate 就是UIApplication 的delegate,而UIApplication 是Singleton 实例,所以在写第一行code 的时候,你已经遇到了Singleton 与Delegate。

坊间有许多跟设计模式有关的专书,非常建议一读。但我们要注意一下,学习设计模式与怎么使用设计模式又是一回事,某些设计模式可能用来解决某些特定问题,不见得适合其他场合。并不是用了比较多设计模式就会比较好,使用设计模式并不是军备竞赛。

某方面来说,我们可以把设计模式,想成是一些物件之间的排列关系。而使用设计模式最后要做的,就是当我们的App 或Library 中有很多不同种类的实例时,我们怎么把这些实例排列成合理的关系。

results matching ""

    No results matching ""