![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件工程
kisserLeon
帅哥
展开
-
类之间的关系
很早以前就学过UML了。不过好像一直都对类之间的关系不是很理解,对各种关系总是很confuse。最近又从新开始看design pattern,才发现以前的我根本就没有理解OO思想,现在总算也是有点感觉了。一兴奋,就开始写blog了。:)一般化关系(Generalization),表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。关联关系(Association),原创 2006-11-01 15:29:00 · 731 阅读 · 0 评论 -
OOA 的主要优点
OOA 的主要优点: ① 加强了对问题域和系统责任和理解; ② 改进与分析有关的各类人员之间的交流;原创 2007-03-20 00:28:00 · 1767 阅读 · 0 评论 -
面向对象中的多态性
居然有这么多种多态!本来我还以为我自己已经精通了多态,今天下午才发现自己好菜啊,Sigh。。。 多态分为两种:通用的多态(universal)和特定的多态(ad hoc)。前者用来系统地刻画语义上相关的一组类型。;后者用来刻画语义上无关联的类型间的关系。通用的多态又分为参数多态(parametric)和包含多态(inclusion);特定的多态分为过载多态(重载多态)(overlo原创 2006-12-09 19:59:00 · 1172 阅读 · 0 评论 -
把《重构与模式》看完了
把《Refactoring to Patterns》也翻完了。看的过程跟我看重构差不多,不过显然比重构有深度,或者说理解起来有点难度。毕竟这里面充斥着很多的模式,要想理解它的每一个trick,首先得要先理解了那个pattern。当然了,它也没有想象中的那么难。恩。不过有一点做的不好,里面的例子都很长,而且很多地方用的不是同一个例子,这个让人看起来要花很长时间的。不过我只是看了前面的UML图原创 2006-12-07 19:22:00 · 1379 阅读 · 0 评论 -
恍然大悟
土了土了。突然发现自己好土阿。 有一段时间,我认为我是完全理解了类与类之间的数量对应关系,比如一对多,多对多等等。后来我突然忘了。我忘了是怎么理解的了。真是惨啊。为什么搞不清楚了呢?原来是我把抽象与具体搞混了! 比如说:师傅类与徒弟类是个什么对应关系呢?如果再没有抽象出来的话,那么我们显然是无法判断他们的对应关系的。因为有些人有很多徒弟,而有些人可能就只 有一个。而我就在这个层面上原创 2006-12-01 15:35:00 · 741 阅读 · 0 评论 -
用Creation Method替换构造函数
这是我在《Refactoring to Patterns》中看到的第一个trick,我觉得很cool,而且很实用。毕竟实际项目中,这种情况还是很常见的。恩。简单介绍一下Creation Method。由于C++,Java,C#这些语言都会限定构造函数与类同名,(其实我觉得想出这个办法来区别其他函数也是非常cool的),所以如果我们有多种方法、形式、途径来创建类时,就会出现一个类有很多的构造原创 2006-12-05 15:48:00 · 1130 阅读 · 0 评论 -
关于重构
最近正在看重构-改善既有代码的设计,由大师Martin Fowler著,候捷,熊节译。 在看这本书之前,俺听说过重构,但是感觉很神秘,很深奥的技术。。。号称与《设计模式》齐名的经典巨著!看了两天之后,看了七章168页,大概1/3吧。 给我的感觉是:没有想象中的那么伟大!《设计模式》一书中指出了设计模式为重构提供了目标,不知道《重构与模式》(英文名:《Refactoring to Patterns原创 2006-12-03 18:47:00 · 951 阅读 · 0 评论 -
突然想到一个问题
以前看到了很多批评C++的头文件。但是我还是有点不明白,虽然头文件有很多地方不好,比如说:和cpp文件分离,不容易维护,改了cpp文件还要转过来改头文件。不过,头文件的出现也是有原因的,比如说它隐藏了代码的实现,这样子我们就可以把源文件实现在dll中交给客户就可以了,客户就根据头文件来进行代码的调用。现在的java,c#等都没有头文件的概念了。而且他们是后来出现的,应该说他们比c++更有优原创 2006-12-05 15:21:00 · 910 阅读 · 0 评论 -
把重构看完了
开始看《Refactoring to Patterns》了。在译者序中,译者这么说:{从本书的第一个重构直到最后一个,一切都显得那么自然;作者给出的每一个建议,每一个告诫,每一次小的 改动,给我的感觉都是水到渠成。有句话叫“绚烂之极归于平淡”,用来形容重构,真是再适合不过了。}。这种感觉正是我在看重构中的感觉,一切都是那么地自 然。太自然了,就显得有些失望,呵呵。一部平淡无奇的电影,尽管它是真理原创 2006-12-04 18:59:00 · 823 阅读 · 0 评论 -
面向对象设计原则
单一指责原则(SRP)一个类应该仅有一个引起他变化的原因 开放封闭原则(OCP)类模块应该是可扩展的,但是不可修改(对扩展开放,对更改封闭) Liskov替换原则(LSP)子类必须能够替换它的基类,正方形不是长方形 依赖倒置原则(DIP)高层模块不应该依赖于低层模块,二者都应该依赖于抽象抽象不应该依赖于实现细节,实现细节应该依赖于抽象 接口原创 2006-11-07 12:50:00 · 983 阅读 · 0 评论 -
软件过程与度量Software Process
软件过程的概念Defines Who is doing What, When to do it, and How to reach a certain goal. 过程是产品成本、进度和质量的主要决定因素。软件过程的组成,五大元素:工件/产品,活动,里程碑,资源和角色,关系。工件(Artifact),是指软件开发过程的中间或最后工作产品,包括:文档,模型,程序,数据,计划,报告等活原创 2007-03-27 09:08:00 · 1128 阅读 · 0 评论