当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 一些面向对象的设计
 

 

 ·我的人才观    »显示摘要«
    摘要:  去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀。但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙。   弥乐佛热情快乐,所以来的人非常多,但他什么都不在乎,丢三拉四,没有好好的管理账务,所以依然入不敷出。而韦陀虽然管账是一把好手,但成天阴着个脸,太过严肃,搞得人越来越少,最后香火断绝。   佛祖在查香火的时候发现了这个问题,就将他们俩放在同一个......
 ·彻底破解dotfuscator    »显示摘要«
    摘要: 彻底破解dotfuscator 前阵子有网友叫我帮忙破解一个控件.用dotfuscator混淆了的,字符串也加密成这种形式il_2b19: ldstr bytearray (9f fa 9a fc 9e fe 8b 00 6e 02 71 04 ) // ........n.q.il_2b1e: call string a$pst06000001(string) .net软件的保护方法无非......


一些面向对象的设计法则
一些面向对象的设计法则

bob tarr 著            outmyth 译 【程序编程相关:web应用中上传文件的存放方式?文件夹

  【推荐阅读:[收藏]Microsoft 系统体系结构

【扩展信息:用户权限系统设计方案

    

法则1:优先使用(对象)组合,而非(类)继承

组合

n         (对象)组合是一种通过创建一个组合了其它对象的对象,从而获得新功能的复用方法.

n         将功能委托给所组合的一个对象,从而获得新功能.

n         有些时候也称之为“聚合”(aggregation)或“包容”(containment),尽管有些作者对这些术语赋予了专门的含义

n         例如:

f        聚合:一个对象拥有另一个对象或对另一个对象负责(即一个对象包含另一个对象或是另一个对象的一部分),并且聚合对象与其所有者具有相同的生命周期.(译者注:即所谓的“同生共死”关系,可参见gof的design patterns: elements of reusable object-oriented software的引言部分.)

f        包容:一种特殊类型的组合,对于其它对象而言,容器中的被包含对象是不可见的,其它对象仅能通过容器对象来访问被包含对象.(coad)

 

n         包含可以通过以下两种方式实现:

f        根据引用(by reference)

f        根据值(by value)

n         c++允许根据值或引用来实现包含.

n         但是在java中,一切皆为对象的引用!

组合的优点与缺点

n         优点:

f        容器类仅能通过被包含对象的接口来对其进行访问.

f        “黑盒”复用,因为被包含对象的内部细节对外是不可见.

f        对装性好.

f        实现上的相互依赖性比较小.(译者注:被包含对象与容器对象之间的依赖关系比较少)

f        每一个类只专注于一项任务.

f        通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象的)组合.

 

n         缺点:


...   下一页
 ·eclipse编辑器的两则妙用    »显示摘要«
    摘要:本文所介绍的两个特性的按钮可以在工具栏上找到,如果没有的话,可以: 进入到window --customize perspective--commands,分别勾选各自的选择框来启动特定功能 mark occurrences(工具栏图标) 通过勾选editor presentation启动 功能:对特定对象实例在源代码中所有出现的地方都进行高亮显示,方便编码过程中对所声明的实例进行跟踪 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE