posts - 4,comments - 2,trackbacks - 0
在用C++设计过程中的规则:
 1、在编程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构
尽可能地直接反映这些思想。
 a、如果你能把它看成一个独立的概念,就把它做成一个类
 b、如果你能把它看成一个独立的实体,就把它做成某个类的对象
 c、如果两个类具有共同的界面,将此界面做成一个抽象类
 d、如果两个类的实现有某些显著的共同东西,将这些共性做成一个基类
 e、如果一个类是一种对象的容器,将它做成一个模板 。
 f、如果一组类、模板等互相之间有逻辑联系,将他们放进一个名字空间里
 2、在你定义一个并不是实现某个像矩阵或复数这样的数学对象的类时,或者定义一个低层的类型如链
接标的时候:
  a、不要使用全局数据(使用成员)
  b、不要使用全局函数
  c、不要使用公用数据成员
  d、不要使用友元,除非为了避免a和c
  e、不要在一个类里面放“类型域”;采用虚函数
  f、不要使用在线函数,除非作为效果显著地优化。
posted on 2006-08-10 14:31 阅读(580) 评论(2)  编辑 收藏 引用

FeedBack:
# re: 在用C++设计过程中的规则:
2006-08-14 23:15 | Corner
你好!路过,踩一脚。
你的1项中的内容其实与人的编程风格有关。2项里的我不能苟同,对于一个打算在半年内,几个人开发完成的项目规模而言,真正要解决的问题是名称冲突,和编译时/连接时依赖,而对于运行时多态只需ad-hoc继承(virtual call机制)和rtti的使用就非常强大了,对于一些值类型使用template是很好的。所以,对2项里的不必太在意。
因为,本人碰到过,明显能以结构化编程轻易解决的问题,可有人偏偏要对象化,导致不必要的所谓对象间的依赖关系,还要写一大堆ctor/dtor和声明式。  回复  更多评论
  
# re: 在用C++设计过程中的规则:
2006-08-20 23:06 | 含笑半步癫
教条了些,c++的标准库里头还有全局函数(std的)。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理