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

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

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

动机

允许子类可以覆盖如何get方法,并且这样的话它更加的支持灵活的管理,例如延迟加载

当你有个数据项需要进行添加数据或行为

将数据项转换为对象


    class Order...{
        private String _customer;
        public Order (String customer) {
            _customer = customer;
        }
    }

to


    class Order...{
        public Order (String customer) {
            _customer = new Customer(customer);
        }
    }

    class Customer {
        public Customer (String name) {
            _name = name;
        }
    }

动机

简单的数据对象并不简单

你有个类拥有很多单个对象,这些对象需要用一个单独的对象替代

将这个对象转换为引用对象


    class Order...{
        public Order (String customer) {
            _customer = new Customer(customer);
        }
    }

    class Customer {
        public Customer (String name) {
            _name = name;
        }
    }

to


    //Use Factory Method
    //使用工厂方法
    class Customer...
        static void loadCustomers() {
            new Customer ("Lemon Car Hire").store();
            new Customer ("Associated Coffee Machines").store();
            new Customer ("Bilston Gasworks").store();
        }
        private void store() {
            _instances.put(this.getName(), this);
        }
        public static Customer create (String name) {
            return (Customer) _instances.get(name);
        }

动机

引用对象是类似于消费者或者账单这样的对象,每个对象代表这一类对象在一个真实的世界,并使用对象表示来测试它们是否相同

你有一个有一个引用对象是很小,不变,难以管理的

将其转换为值对象


    new Currency("USD").equals(new Currency("USD")) // returns false

to


    new Currency("USD").equals(new Currency("USD")) // now returns true

动机

使用引用对象是变得越来月复杂,并且引用对象是不变和单一的。微服务架构 云计算尤其在分布式和并发系统中


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

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

    • 王壮
      王壮

      经过选举成为合法总统

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