模型和框架

对象是状态和行为的组合,所以和现实世界的物体很相似。因为这种相似性,设计一个面向对象的程序非常类似于构造一个真实的事物——它们能做什么的,怎样去做,如何和其它的事物联系。

当您设计一个面向对象的程序时,实际上,您是把一些事情在计算机上的模拟化放在了一起。对象网络看上去很像真实系统的模型化,其行为也象。面向对象程序也可以被看作一个模型,尽管在现在世界中并没有与之相应的物体。

模型中的每个组件——也就是各种类型的对象——可以从该组件的行为,职责,以及和其它组件的交互等角度来描述。一个对象的接口是由它的行为确定的,而不是它的数据,所以您可以从某个系统组件应该完成什么功能来开始设计,而不是从怎样用数据结构来表示该组件开始。一旦对象的行为决定了,就可以选择合适的数据结构,但这是实现需要考虑的问题,而不是最初设计需要考虑的。

例如,在用水系统程序中,您不能从设计水龙头类的数据结构开始,而是从您需要水龙头类做什么开始——水龙头要能够和管道连接,可以被打开和关闭,能够控制水流大小等等。因此设计并不是从选择数据结构开始。您可以先确定行为,随后再实现数据结构。您也可以随时更改数据结构的实现而不用重新设计。

设计面向对象的程序并不一定需要写大量的代码。类的良好复用性意味着可以基于的现存的类来构建一个程序,甚至完全依赖于现存的类也是有可能的。随着类定义的数目的增长,您可以复用的类也越来越多。

从很多地方都可以得到可复用的类。一个开发项目通常能提供很多可复用的类,甚至有的企业会将一些可复用的类打包出售。面向对象的编程环境和类库密不可分。例如,Cocoa库中有超过两百个类。这些类中,有提供基础服务(哈希计算,数据存储,远程消息)的类,也有一些提供特定的服务(例如用户界面,视频功能,音频功能)的类。

通常,一组类库中的类组成了一个不完整的程序架构。这些类被称之为软件框架。框架可以用来开发各种不同的应用程序。当您使用框架时,则意味着您接受该框架提供的编程模型,并且基于该框架进行您的设计。下面是使用框架的几种途径:
初始化并使用框架类的实例
定义框架类的子类
定义和框架类协同工作的类

无论哪种途径,不仅是程序适应软件框架的过程,也是通用的软件框架适应特定的应用程序的过程。

框架本质上就是为您的程序建立了部分对象网络和类的继承体系,您的代码可以基于框架来完成整个程序架构。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值