`
文章列表
public class Apple implements Fruit { }
生梨润肺化痰好, 苹果止泻营养高。 黄瓜减肥有成效, 抑制癌症猕猴桃。 番茄补血助容颜, 莲藕除烦解酒妙。 橘子理气好化痰, 韭菜补肾暖膝腰。 萝卜消食除胀气, 芹菜能治血压高。 白菜利尿排毒素, 菜花常吃癌症少。 冬瓜消肿有利尿, 绿豆解毒疗效高。 木耳搞癌散血淤, 山药益肾浮肿消。 海带含碘散淤结, 蘑菇抑制癌细胞。 胡椒驱寒兼除湿, 葱辣姜汤治感冒。 鱼虾猪蹄补乳汁, 猪肝羊肝明目好。 益肾强腰吃核桃, 健肾补脾吃红枣。
迪米特法则又叫最少知识法则,就是说,一个对象应当对其他对象有尽可能少的了解。 迪米特法则最初是用来作为面向对象的系统设计风格的一种法则,于1987年秋天由Ian Holland 在美国东北大学为一个叫做迪米特的项目设计提出的,因此叫做迪米特反则。这条法则实际上是很多著名系统,比如火星登陆软件系统,木星的欧罗巴卫星轨道飞船的软件系统的指导设计原则。 迪米特法则的各种表述 没有任何一个其他的OO设计原则像迪米特法则这样有如此之多的表述方式,下面给出的也只是众多的表述中较有代表性的几种:     只与你直接的朋友通信     不要跟陌生人说话     每一个软件单位对其他的单位都只有最少的知识, ...
第十章:合成/聚合复用原则     合成/聚合复用原则经常又叫合成复用原则。合成聚合复用原则就是在一个新的对象里面用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委托达到复用已有功能的目的。     这个原则有另一个更简短的表述;要尽量使用合成/聚合,尽量不要使用集成。 复用的基本种类    在面向对象的设计中。有两种基本的方法可以在不同的环境中复用已有的设计和实现,即通过合成/聚合或通过继承。       合成/聚合复用比继承复用的好处:    新对象存取成分对象的唯一方法是通过成分对象的接口。    这样复用是黑箱复用,因为成分对象的内部细节是新对象所看不见的。    ...
第九章 接口隔离原则 接口隔离原则讲的是:使用多个专门的接口比使用单一的总接口要好。 换言之,从一个客户的角度来讲:一个类对另一个类的依赖性是应当建立在最小的接口之上的。 是么是接口隔离原则 角色的合理划分     将“接口”理解为一个类所提供的所有方法的特征集合,也就是一种在逻辑上存在的概念。这样的话,接口的划分就直接带来类型的划分。    接口污染     过于臃肿的接口是对接口的污染。     准确而恰当地划分角色以及角色所对应的接口是面向对象的设计的一个重要组成部分。 与迪米特法则的关系   迪米特法则要求任何一个软件实体,除非绝对需要,不然不要与外界通信。即使必须进行通信, ...
一,什么里氏代换原则    里氏代换原则的严格表达是:    如果对每一个类型为T1的对象O1,使得以T1定义的所有程序P在所有的对象o1都代换成o2,那么类型T2是类型T1的子类型。        里氏代换原则是继承复用的基石。只有当衍生类可以替换掉基类,软件单位的功能不会受到影响时,基类才能真正被复用,而衍生类也才能在基类的基础上增加新的行为。
里氏代换原则     里氏代换原则的严格表达是:     如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型T2是类型T1的子类。     里氏代换原则是继承复用的基石。只有当衍生类可以替换掉基类,软件单位的功能不会受到影响时,基类才能真正被复用,而衍生类也才能够在基类的基础上增加新的行为。 反过来的代换不成立。
Section II Agile Design 敏捷设计 In an agile team, the big picture evolves along with the software. with each iteration. the team improves the design of the system so that it is as good as it can be for the system as it is now. The team does not spend very much time looking ahead to future requirements ...
一,敏捷软件宣言 我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法。 通过这项工作,我们认为: 人和交互         重于  过程和工具 可以工作的软件   重于  面面俱到的文档 客户合作         重 ...
敏捷开发的理念已经流行了很长的时间,之所以能够成为一种开发过程的指导性理念,是因为有几个世界级的高手力挺它,甚至成立了敏捷联盟,看看联盟宣言里签下的名字,每个人背后的经历都足够我们敬仰一阵子的。 目录 [隐藏] 1 价值观 2 原则 3 敏捷建模的实践 4 是(不是)什么? 5 AM的实践是如何组合的 6 合格的敏捷建模者 敏捷开发-价值观        AM的价值观包括了XP的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。 ◆沟通 建模不但能够促进你团队内部的开发人员之间沟通、还能够促进你的团队和你的project stakeholder之间的沟通。 ...

重构名录

    博客分类:
  • Java
重构名录:          第一部分:代码的坏味道(Bad smells in Code)                    BS1: Duplicated Code(重复的代码) BS2:Long Method(过长的函数)                    BS3:Large Class(过大类)                    BS4: Long Parameter List(过长参数列)                    BS5:Divergent Change (发散式变化)                    BS6:Shotgun Surgery (散弹式修改 ...
Part 3: 细化迭代1 --基础 第8章:迭代1-基础 定义细化阶段的第一个迭代 为本部分的后继章节做铺垫 描述初始细化阶段的关键内容 8.1 迭代1的需求和重点:OOA/D技术的核心    在这些案例研究中,细化阶段的迭代1强调的是基础。      在up项目中,我们应该首先处理困难和具有风险的事项。    在迭代开发中,我们并非一次就实现所有需求    在多个迭代对同一用例进行增量式开发 8.2 初始和细化   在初始阶段发生了什么     初始阶段是迈向细化阶段的一小步。     初始阶段中可能的活动和制品包括       简短的需求讨论会     ...
转载自:http://www.roboticfan.com/blog/user_2005/104/archives/2009/2009617176.shtml 1、总结背景 在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。本案例基于RedHat AS4讲解环境变量定制的问题。 2、变量简介 Linux是一个多用户的操作系统。每个用户登录系统后,都会 ...
名词的固定搭配介词+名词形式 词语 解释 by accident 偶然 on account of 因为,由于 in addition 另外 in addition to 除……之外(包括) in the air 在流行中,在传播中 on (the/an) average 平均,一般来说 on the basis of 根据,在……的基础上 ...
Alpha版:内部测试版,一般不向外部发布,会有很多Bug。一般只有测试人员使用。 Beta版:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。 RC版:(ReleaseCandidate)候选版本。系统平台上就是发行候选版本。RC版不会再加入新功能,主要着重于除错。 RTM版:(Release to Manufacture)给工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也有出限制、评估版的。但是和正式版本的主要程序代码都是一样的。 OEM版:是给计算机厂商随着计算机贩卖的,也就是随机版。只能随机器出货,不能零售。只能全新安装,不能从旧有操作系统升 ...
Global site tag (gtag.js) - Google Analytics