ACE封装——使用继承提高设计清晰和可扩性

原创 2007年09月29日 13:28:00

做过网络编程的人都知道sockaddr这个东西,其实最初的时候我也无法理解,为什么要强转指针又传递sizeof这个东西呢。

其实这是C的继承,unix和internet领域有不同的sockaddr形式,sockaddr是逻辑上的基类,通过不同的sizeof可以获得正确的类型信息然后转型。这真是太不好了。

如果你使用的代码中有这样良好的设计但是没有良好的代码形式,那你表现的时候到了,简单的一个C++继承可以漂亮的完成这个工作,这在方便自己使用的同时一定让原作者感动欣慰,他当时也想到了,而苦于没有合适的工具,而你有,不用自己设计就可以完成漂亮事情,这是一件多么美好的事情啊。

回想起我初学网络编程的时候的苦痛,我能理解将一维api转化为继承体系的重要性。

那个时候,为了记住各个api我付出了很大的记忆劳动,尽管最终有些api是不常用的,但是不记住的话在万一需要用的时候你一定会后悔的。现在看看c socket api那已大列函数依然觉得这是新手要跨越的一个大障碍,幸好ace早就考虑到了这个问题,ACE_SOCK、ACE_SOCK_Acceptor、ACE_INET_Addr的继承体系覆盖了这一切函数。有些共同的东西被包覆在了基类里,子类用来实现有区别的东西。

理解这个多维体系将比理解一维线性的那一堆方法容易一些。这对使用者也是一件好事。

Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程

Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库。所以写的还是很详细的,各位看官...

Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程

Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库。所以写的还是很详细的,各位看官,耐着性子看完,实现结果不...

ACE中的设计模式——Singleton

1.          Singleton模式简介Singleton 是GOF 圣经中最简单的一个模式了,主要用于创建在系统中具有唯一实例又需要到处使用的类,实现起来非常简单。#i...

模块性: 保持清晰,保持简洁——《unix 编程艺术》学习笔记

软件设计有两种方式:一种是设计的非常简洁,没有看得到的缺陷;另一种设计的极为复杂,有缺陷也看不出来。第一种方式难度要大得多。——C.A.R Hoare更精练的表达:一种是明显没有缺陷;一种没有明显的缺...

Photoshop中使用11px清晰中文字体——绿色软件下么

[导读]    在Photoshop中要想得到清晰的中文字体,就需要关闭抗锯齿功能,但是这样当字体小于12px的时候,系统默认的宋体就变得一团糟,而黑体或者其他的外挂字体也都纷纷变得很难看。  Win...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ACE封装——使用继承提高设计清晰和可扩性
举报原因:
原因补充:

(最多只允许输入30个字)