- 浏览: 193733 次
- 性别:
- 来自: 北京
-
最新评论
-
nfsfairytale:
求附件求附件
一种高效的寻路算法 - B*寻路算法 -
wafer1021:
想在服务端运用这种
一种高效的寻路算法 - B*寻路算法 -
zhezhelin:
最新代码有吗
一种高效的寻路算法 - B*寻路算法 -
zyh2018:
你好!很开心看到你写的B*算法,但是C++版本的代码看起来很吃 ...
一种高效的寻路算法 - B*寻路算法 -
asuralove:
学习了~~~~
一种高效的寻路算法 - B*寻路算法
我的论坛
在《重构》中,Martin Fowler按照重构所针对的代码内容进行了分类,包括对函数的重构、对对象特性的重构、对数据组织的重构、对条件表达式的重构以及对类层次的重构,并按照这种分类组织了章节。
除了按照重构所针对的代码内容进行分类外,按照采用手法进行分类,我觉得也可以从另一个角度帮助我们更进一步理解重构的进行方式。
通过整理,按照采用手法分类如下:
1、提炼
就是对某个过程的一部分,或某个事物的一部分进行抽象并概念化,以减小所表达的目的(要做什么)和实现(做什么,如何做)之间的语义差距。
运用提炼的重构手法包括
Extract Method、
Split Temporary Varia ...
- 2007-03-26 19:31:45
- 浏览 29550
- 评论(42)
刚才有一个关于Struts和MVC组件对应关系的帖子,现在好像被放入了新手区,关于这个问题记得以前有过激烈的讨论,可惜刚才我搜索一下没有找到想找的那篇,希望有谁找到能把链接发上来
对于这个问题我觉得还是有讨论的一些必要,因为疑惑的人还是存在,而且从我个人来说对这个问题的理解也在不断的变化。现在把我现在的理解写下来,可能存在偏颇(本来理解也在变化),只供讨论
我现在的观点是:
MVC可以帮助刚刚进入面向对象设计的开发者理解分层体系结构(MVC的最大价值),之后在面对Struts,Spring时,可以借助那种分层思想、及各层的大致组件角色和职责对这些框架进行理解,但不必钉钉铆铆的去对应,因为这种 ...
- 2007-03-26 19:30:29
- 浏览 8449
- 评论(19)
MVC是八十年代Smalltalk80引入的一种用户界面应用程序设计模型,经过二十多年的发展,到现在无论是Struts,Spring还是其他框架模型,都不能完全按照MVC去分解了,而是角色更加明确,分工更加细致。
对于刚刚了解面向对象分层体系的人,可以借助MVC去理解,去切入
这是我的理解
- 2007-03-26 16:37:25
- 浏览 6354
- 评论(10)
刑天战士 写道错错错,大大们不谈Design Pattern,是因为Design Pattern已经融汇贯通在他们脑子里了,他们可以随意YY模式,so~~~~
对对对,是“融汇贯通在他们脑子里”,而不是从他们的脑子里忘掉
- 2007-03-26 13:37:23
- 浏览 29550
- 评论(42)
而且我觉得现在有一种现象,当然这种现象只是从我身边来看,可能不完全具有代表性,就是现在的开发人员不像几年前那样对于设计具有那样大的热情,起码热情的普遍性很差。
那些大佬们,象Robbin,cookoo,buaawhl以及老庄等等可以现在不谈论设计,不谈论模式,但是这不是说他们以前没谈论(反而是谈论的太多了,谈的没感觉了,即到了无的境界了),更不能说明现在不需要谈论
可能这有几方面的原因:
1)敏捷方法的突起,一方面要求简化设计,另一方面重构可以帮我们容易的改变设计;
2)框架(Struts,webwork,spring,hibernate)的日益丰富,使的在一般需求下,只按照框架规定的模式就 ...
- 2007-03-26 11:13:29
- 浏览 29550
- 评论(42)
刑天战士 写道说句实在话,设计原则,设计模式,重构的终极思想,就是要忘掉这些模式,譬如张无忌学太极剑,忘光了就是学会了。死啃书本,不在项目中领会这些知识,等于没学,甚至等于邯郸学步。
呵呵,我觉得终极思想不是忘掉这些模式,而是通过实践的磨炼,经验的积累,达到对设计理念的心领神会,对设计决策的信手拈来,以无招应有招,而这里的无是心领神会,随心所欲的无,而不是忘光的无
这其中最大的差别是忘光的无,是可以在一知半解的时候就可以忘光的,而随心所欲的无,是需要对招数达到一定熟练程度,对更好层次的理念达到融会贯通之后才能做到的
- 2007-03-26 10:49:58
- 浏览 29550
- 评论(42)
我也这么觉得,设计原则,设计模式和重构三者相互联系,互为补充,共同组成软件设计的整体过程
设计原则是软件设计的指南,借以可以指导设计出优秀的软件(具有清晰、可扩展、可维护等等特性);
设计模式是设计原则在某种场景下的事例体现,是已证实的符合设计原则的某种解决方案的核心,可以重复拿来使用;
而重构则是在后期对现有代码的整理,通过进一步组织函数、数据、类结构和等等,使代码更加清晰设计更加优秀;
- 2007-03-25 10:09:57
- 浏览 29550
- 评论(42)
此外代码的坏味道Bad smells一章,真是一顿营养丰富的大餐。Duplicated Code是代码腐化的万恶之源,Long Method、Large Class、Long Parameter List这些几乎就是旧社会臭婆娘的裹脚布,Divergent Change、Shotgun Surgery、Feature Envy、Inappropriate Intimacy这些简直就是指责不清勾肩搭背。等等。。。
重构,它为我们清除这些坏味道指明了方向,并且《重构》通过强调“重构是一种有纪律的、经过训练的、有条不紊的程序整理方法”,保证了重构过程的安全性和高效性。
在重构的手法中有相当一大部分 ...
- 2007-03-24 22:04:47
- 浏览 29550
- 评论(42)
读完《重构——改善既有代码的设计》,感觉写得真是非常得好,非常的细腻而且深入,建议还没有读过的找时间读一读,肯定受益良多。
之前写程序也总是不停的重构、重构,读完这本书之后才发现对于重构的理解以前是很 ...
- 2007-03-24 20:52:49
- 浏览 29550
- 评论(42)
lyx_2709 写道代理模式:为其他对象提供一种代理以控制对这个对象的访问.说白了就是,在一些情况下客户不想或不能直接引一个对象,而代理对象可以在客户和目标对象之间起到中介作用.去掉客户不能看到的内容和服务或都增添客户需要的额外服务.
给大家举个比较简单的例子:
假如你买台IBM的笔记本,IBM产家是不提供鼠标的.但是我们如果从代理商的手里买就有鼠标和送.
很简单的例子,写几个类来实现一下吧.
首先设计一个购买的接口代码如下:(ComputerInterface.java)
package test.lyx;
publicinterface ComputerInterface {
p ...
- 2007-03-24 12:58:34
- 浏览 20107
- 评论(20)