b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

微服务架构 云计算 重构 -改变既有代码的设计 ---- 笔记(24)

电脑杂谈  发布时间:2018-10-13 16:05:07  来源:网络整理

动机

当两个类有过多相似的地方的时候,就需要考虑下是否需要将这个类进行下抽象了

若干客户使用类接口中的同一个子类,或者两个类的接口有相同的部分

将相同的子集提炼到一个独立接口中


    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

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...