您的位置:学习中国 推荐教程 C++C语言 正文
原作者:kuku 添加时间:2007-06-02 原文发表:2007-06-02 人气:14 来源:互联网

本文章共2052字,分2页,当前第2页,快速翻页:
 
-----------------------------------------------------------------------------------------------------------------------------------------------

本文提示:《要求对象产生于Heap之中(2)》是本站编辑们为广大网友精选的实用文章,本文阐述了关于文章的相关理论,相对来说专业性强,但是本文只是针对于某个问题提出的见解与论述,未必能辐射到相关问题的方方面面,所以本文处理问题的方法仅仅为您提供一些参考。更多问题请查阅学习中国网其他栏目哦.

-----------------------------------------------------------------------------------------------------------------------------------------------

耦合本身没有错,实际上耦合是必不可少的,没有耦合就没有协作,对象之间无法形成一个整体,什么事也做不了。关键在于耦合要恰当,在实现预定功能的前提下,耦合要尽可能的松散。这样,系统的一部分变化对其它部分的影响会很少。

函数指针是解耦对象关系的最佳利器。Signal(如boost的signal和glib中的signal)机制是一个典型的例子,一个对象自身的状态可能是在变化的(或者会触发一些事件),而其它对象关心它的变化。一旦该对象有变化发生,其它对象要执行相应的操作。

如果该对象直接去调用其它对象的函数,功能是完成了,但对象之间的耦合太紧了。如何把这种耦合降到最低呢,signal机制是很好的办法。它的原理大致如下:其它关注该对象变化的对象主动注册一个回调函数到该对象中。一旦该对象有变化发生,就调用这些回调函数通知其它对象。功能同样实现了,但它们之间的耦合度降低了。

在C语言中,要解决以上这些问题,不采用函数指针,将是非常困难的。在编程中,如果你从没有想到用函数指针,很难想像你是一个C语言高手。


 
本文章更多内容<<上一页 - 1 - 2
本页地址
收藏到:[收藏夹] [百度搜藏] [新浪ViVi] [POCO网摘] [ 和讯网摘] [好哦网摘] [Google书签]
               
[搜狐网摘] [365Key网摘] [天极网摘] [我摘] [博采网摘] [igooi网摘]
相关文章

C++中要求(或禁止)对象产生于heap中
C/C++ 程序设计员应聘常见面试试题深入剖析
C语言教程第二章: 数据类型、运算符、表达式
C语言教程第二章: 数据类型、运算符、表达式
C语言教程第二章: 数据类型、运算符、表达式
C语言教程第二章: 数据类型、运算符、表达式
C语言教程第二章: 数据类型、运算符、表达式
C语言教程第一章: C语言概论(5)
C语言教程第一章: C语言概论(4)
C语言教程第一章: C语言概论(3)
在CPP中调用Jscript中的函数
C++:最强大的.NET语言之对象构造
c语言中的指针专题
C++对象的拷贝与赋值操作
初学者必备:C++经典入门详细教程
C++的救赎 C++开源程序库评话
踏入C++中的雷区——C++内存管理详解
在c++程序中重启自己的一种方法
如何编写异常安全的C++代码
C++程序员必需的修养

相关评论


本文章所属分类:首页 推荐教程 C++C语言   C++C语言