摘要: 使用简单工厂和State模式替换冗余的 switch-case 语句 这篇曾经贴在自己的live space上,今天整理出来发在这里。内容参考了《重构》和《设计模式》Case如下,假设Employee类中有这样两个方法:PayAmount. 根据员工类型获得员工的薪水:publicintPayAmount(EmployeeTypeempType){switch(empType){caseEmployeeType.ENGINEER:returnm_basicSalary;caseEmployeeType.SALESMAN:returnm_basicSalary+m_commission;case 阅读全文
posted @ 2014-03-03 18:02 古刹红罗 阅读(640) 评论(0) 推荐(0)
摘要: 定义一个名为“动物”的抽象类,有一个public的“生命”属性/特征/字段,一个public的“新陈代谢”的方法,其中需要“水”和“氧气”,还有一个public的"繁殖"方法。再定义一个名为“鸟”的抽象类,继承了“动物”类,他具有属性/特征/字段:public "羽毛",public “有鸟嘴没有牙齿”。方法/行为:public "下蛋"。在构造函数中就要实例化“翅膀”类。定义类“大雁”“鸭”“企鹅”都继承“鸟”类,同时也就继承“动物”类,都继承“下蛋”的方法。“企鹅”类跟“气候”类有关联,那边就需要在“企鹅”类中实例化一个“气候”类 阅读全文
posted @ 2014-03-03 17:40 古刹红罗 阅读(182) 评论(0) 推荐(0)
摘要: UML类图中的关系分为四种:泛化关系、依赖关系、关联关系、实现关系;关联关系又可以细化为聚合和组合。+:public-:private#:protected1. 泛化(Generalization)泛化是父类和子类之间的关系,子类继承父类的所有结构和行为。在子类中可以增加新的结构和行为,也可以覆写父类的行为。类名称如果为斜体,说明这个类是抽象类。2. 依赖(Dependencies)依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用,两个元素之间的一种关系,其中一个元素(服务者)的变化将影响另一个元素(客户),或向它(客户) 阅读全文
posted @ 2014-03-03 16:56 古刹红罗 阅读(150) 评论(0) 推荐(0)