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

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

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

动机

打破一些复杂的概念

使算法更容易修改

替换一个大的复杂的算法是十分困难的,让算法变的简单更容易对算法进行替换

在进行方法的初始定义的时候要想下以后会不会有其他的类也将会用到它

一个类它通常会创建一个新的简单的方法体, 同时它会将9??旧的方法做一个简单的委托或者移除它


    class Class1 {
        aMethod()
    }

    class Class2 {  }

to


    class Class1 {  }

    class Class2 {
        aMethod()
    }

动机

当一个类做了很多工作,或者这个类过度的耦合

当一个字段被定义的时候,可能不仅被不止一个类使用。微服务架构 云计算

创建一个字段在一个目标类中,然后改变所有的拥有者


    class Class1 {
        aField
    }

    class Class2 {  }

to


    class Class1 {  }

    class Class2 {
        aField
    }

动机

如果一个字段被超过多个类引用

你有一个类,但是这个类做了它份外的事情

创建一个新的类,然后将相关字段移入到新的类中


    class Person {
        name,
        officeAreaCode,
        officeNumber,
        getTelephoneNumber()
    }

to


    class Person {
        name,
        getTelephoneNumber()
    }

    class TelephoneNumber {
        areaCode,
        number,
        getTelephoneNumber()
    }

动机

类随着业务的增长在变化

在合适的时候进行分解它

相似的方法组合在一起

数据子集通常一起变化或者相互依赖

一个其实没做多少事情的类

将这个类整合到另外一个类中,然后删除这个类


    class Person {
        name,
        getTelephoneNumber()
    }

    class TelephoneNumber {
        areaCode,
        number,
        getTelephoneNumber()
    }

to


    class Person {
        name,
        officeAreaCode,
        officeNumber,
        getTelephoneNumber()
    }

动机

在重构的时候将这个类的基本信息移入到另外一个类中,然后在移除这个类

客户端其实调用的是对象的委托类

微服务架构 云计算_微服务架构图_云计算架构图

在服务端创建一个方法,然后隐藏这个委托类


    class ClientClass {
        //Dependencies
        Person person = new Person()
        Department department = new Department()
        person.doSomething()
        department.doSomething()
    }

to


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-89441-9.html

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

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