
设计思想
文章平均质量分 80
cswcafe
这个作者很懒,什么都没留下…
展开
-
61条面向对象设计的经验原则-《OOD启示录》Arthur J.Riel
(1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。 (3)尽量减少类的协议中的消息。 (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。 (5)不要把实现细节(例如放置共用代码的私有函原创 2005-02-21 10:41:00 · 902 阅读 · 0 评论 -
系统构架设计应考虑的因素
约公元前25年,古罗马建筑师维特鲁威说:“理想的建筑师应该既是文学家又是数字家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算。”(好难哪,软件构架设计师的要求呢?大家好好想想吧。) 一、与构架有关的几个基本概念: 1、模块(module):一组完成指定功能的语句,包括:输入、输出、逻辑处理功能、内部信息、运行环境(与功能对应但不是一对一关系)。 2、组原创 2005-03-03 22:09:00 · 1587 阅读 · 0 评论 -
面向对象与protected
拍脑壳所想之 ——戏言面向对象说到protected这个词,我不可避免的就会想到一个概念——面向对象。那么什么是面向对象呢?其实我个人认为面向对象这个概念是一直在发展变化的,到了今天,面向对象这个词也许让它叫做面向抽象更加贴切。在刚刚建立面向对象这个概念的时候,大概连创造者对于到底什么是面向对象都不是很清楚。要搞清楚面向对象(编程,或者设计)是什么,也许得看看过去的软件代码都是什么样的。I原创 2005-02-21 17:45:00 · 1653 阅读 · 0 评论 -
转入OO思维模式 sunlazy(原作)
从以前ASP或者VB转来的程序员,肯定对于OO思维不太熟悉,做起项目来OO思想也是雷声大雨点小,心里上没有真正的适应过程。现在我就借花献佛,希望能对你有所帮助。 采用OO软体开发方法的过程中﹐许多人自然而然偏重于技术层面﹐例如﹐使用OO分解(object-oriented decomposition) 来进行模组化﹐运用继承功能来建立类别体系(class hierarchy) 等等。原创 2005-02-21 11:44:00 · 1078 阅读 · 0 评论 -
怎样成为优秀的软件模型设计者[转载]
我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢? 将下列原则应用到你的软件工程中,你会获得立杆见影的成果。 1. 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterpris原创 2005-02-21 11:40:00 · 785 阅读 · 0 评论 -
Java 理论与实践: 关于异常的争论 ***推荐***
与 C++ 类似,Java 语言也提供异常的抛出和捕获。但是,与 C++ 不一样的是,Java 语言支持检查型和非检查型异常。Java 类必须在方法签名中声明它们所抛出的任何检查型异常,并且对于任何方法,如果它调用的方法抛出一个类型为 E 的检查型异常,那么它必须捕获 E 或者也声明为抛出 E(或者 E 的一个父类)。通过这种方式,该语言强制我们文档化控制可能退出一个方法的所有预期方式。对于因为编原创 2005-02-22 11:22:00 · 1607 阅读 · 0 评论 -
MVC设计模式带来更好的软件结构和代码重用
MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Fl原创 2005-02-27 20:08:00 · 1429 阅读 · 0 评论 -
GUI 博士的忠告:切勿锁定类型对象!
在进行 Internet 或基于 Windows 的开发方面,您遇到过问题或难题吗?这时,您可以求助于 GUI 博士 (drgui@microsoft.com);GUI 博士每个月会两次做客 MSDN,在线回答您的问题。虽然博士忙碌的工作安排使他无法回复所有的问题,但他会尽可能地在这里回答更多的问题。如果恰好选中了您的问题,那么博士会送您一件 GUI 博士 T 恤衫!摘要:GUI 博士解释了如原创 2005-02-23 10:44:00 · 1006 阅读 · 0 评论 -
JAVA代码编写的30条建议 ***推荐***
JAVA代码编写的30条建议 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Jav原创 2005-02-22 11:29:00 · 1053 阅读 · 0 评论 -
开发J2EE应用的要领
J2EE,作为开发mission-critical的企业级应用的一整套规范的整合平台。其规范之多、内容之广,从而给开发J2EE应用带来了很多“麻烦”。比如,为实现内容的RDBMS存储,我们可能的方法有JDBC、Entity Beans、JDO、O/R Mapping工具(TopLink、Hibernate)、XML-DBMS、JAXB等方法(其中一些方法不是J2EE规范所包含的)。因此,为实现 J原创 2005-02-22 11:09:00 · 942 阅读 · 0 评论 -
面向对象的设计法确保软件的健壮性
软件设计的质量在很大程度上受到系统封装关系的影响。模块间松耦合而模块内部又保持高度一致性是高质量设计软件的关键之一。所以,评定软件设计的水平的手段之一就是考察它的模块间的关系。对系统的可重用性和可维护性水平的客观评价是一个评价软件结构的重要组成部分。我在本文介绍的度量标准可以帮助你客观评定你的软件设计的质量。原创 2005-02-21 11:56:00 · 1649 阅读 · 0 评论 -
用正确方法来写出高质量软件的75条体会
1. 你们的项目组使用源代码管理工具了么? 应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。 2. 你们的项目组使用缺陷管理系统了么? 应该用。ClearQuest太复杂,我的推荐是BugZilla。 3. 你们的测试组还在用Word写测试用例么? 不要用Word写测试用例(Test Case)。应该用原创 2005-02-21 10:54:00 · 809 阅读 · 0 评论 -
OO的目标是什么?
面向对象的编程思想已经深入到了当今软件开发的方方面面,而我们一直鼓吹的OO的最终目标是什么?或许说最终目标有些过头,那OO带来的最大好处是什么?我们张口而出:软件复用!真的是这样吗?“Grady Booch:我一般不相信广告宣传。或许我是那种愤世嫉俗的人--世上不存在万能药!不带虚假的。正如前面提到过的,软件开发过去是、现在是、将来也仍然是很艰难的,并且我没有预见到任何事情能改变这一点。就对象而言原创 2005-03-03 21:55:00 · 973 阅读 · 0 评论