Cocoa基本原理指南之十 - 使用Cocoa框架

来源:互联网 发布:网络推广教程视频教程 编辑:程序博客网 时间:2024/05/17 16:02

摘自:

 

    库函数很少对使用它们的程序进行限制,您可以在任何需要的时候进行调用。另一方面,面向对象的库或框架中的方法和类的定义紧密相关,如果您没有创建或保留可以访问那些定义的对象,就不能对其进行调用。而且,在大多数程序中,对象必须至少和一个对象相连接,才能在程序网络中发挥作用。一个类只负责定义一个程序组件,为了访问类提供的服务,您必须将它连接到应用程序结构中。也就是说,框架类生成一些行为类似于一组库函数的实例。您简单地创建一个实例,对其进行初始化,然后或者向它发送消息使其完成某个任务,或者将它插入到应用程序中某个设计好的插槽中。举例来说,您可以用NSFileManager类来执行各种文件系统操作,比如移动、拷贝、和删除文件。如果您需要显示一个警告对话框,则可以创建一个NSAlert类的实例,并向它发送正确的消息。

    然而在一般情况下,象Cocoa这样的环境并不仅仅是一些提供服务的、彼此独立的类集合。它们是由一些面向对象的框架和面向特定问题空间并提出完整解决方案的类集合组成的。框架不是提供一些在需要时可以调用、彼此不相关的服务(象函数库那样),而是制订您的代码必须适应的整个程序结构或者说程序模型。由于这个程序模型是具有一般意义的,您可以对它进行具体化,以满足特定的程序需要。您要做的不是设计一个调用库函数的程序,而是将您自己的代码插入到框架提供的设计中。

    要使用框架,就必须接受框架定义和使用的程序模型,而且需要定制一些类,使面向具体应用场合的程序可以和该模型相适应。这些类相互依赖,以一个组而不是单独类的形式出现。乍一看,在程序代码中采纳框架的模型需要做的工作比较有限,但事实却相反。框架为您提供了很多改变和扩展其一般行为的途径,它只是简单地要求您接受所有Cocoa程序的基本行为方式,因为它们都基于同样的程序模型。