动机
当两个类有过多相似的地方的时候,就需要考虑下是否需要将这个类进行下抽象了
若干客户使用类接口中的同一个子类,或者两个类的接口有相同的部分
将相同的子集提炼到一个独立接口中
class Employee {
getRate()
hasSpecialSkill()
getName()
getDepartment()
}
to
interface Billable {
getRate()
hasSpecialSkill()
}
class Employee implements Billable {
getRate
hasSpecialSkill()
getName()
getDepartment()
}
动机
若一个类的子集明确被一系列的客户使用
如果一个类需要和多个类处理并能处理确定的请求
超类和子类无太大区别
将它们合为一个
class Employee{ }
class Salesman extends Employee{ }
to
class Employee{ }
动机
该子类没有带来任何价值
有些子类,其中对应的某些函数以相同顺序执行类似的操作,但各个操作的细节上有所不同
只有知道不断滋养自己的人,才能让内在变得温润,让灵魂变得丰盈,然后真正地独立,以一个挺拔的姿态应对一切,自给自足,不卑不亢。
装饰器会封装函数,这会让它们变得更难调试。
首先我会用魔棒把这个城市的花草树木,这些唯一吸收二氧化碳的工具改变改变,把它们变得容光焕发,然后我就把城市的主要交通工具汽车变少,让人们改骑自行车、搭乘公共汽车或步行,这既锻炼身体有环保。
操作系统程序本身并不知道应用程序文件的任何信息(操作系统程序由很多个c文件和汇编文件组成,这些文件中的函数由链接器让它们发生关联)。
class Site{}
class ResidentialSite extends Site{
getBillableAmount()
}
class LifelineSite extends Site{
getBillableAmount()
}
to
class Site{
getBillableAmount()
getBaseAmount()
getTaxAmount()
}
class ResidentialSite extends Site{
getBaseAmount()
getTaxAmount()
}
class LifelineSite extends Site{
getBaseAmount()
getTaxAmount()
}
动机
继承是避免重复行为的一个强大工具
当发现两个相似的方法时,将其都放入到父类中
Template Method[[Gang of Four]]
canary渠道:https://www.google.com/intl/en/chrome/browser/canary.html。
benefit uk官网:https://www.benefitcosmetics.com/uk/en-gb。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-89441-24.html
他对淘宝的假货
手机买吗
干净