摘要:
代理模式 一:代理模式概述 高中的时候遇到一个喜欢的女生,那时候我们都比较害羞,我们的交流全靠传话,有一个姑娘成了我们的中介,每天都给我们传递狗粮,就这样我们开心的过完了高中。然后大学。。。。好了继续代理模式的学习: 1.1 什么是代理 代理是一种设计模式。当我们想要添加或修改现有类的某些功能时,我 阅读全文
摘要:
建造者模式 一:建造者概述 我们大家可能都会开小汽车,但是当你得到一辆小汽车的时候,你可以用它驰骋马路,但是你知道它组件复杂的构造过程吗,并不知道。而我们今天要讲的建造者模式其实就是 ,`客户端无需知道复杂对象的内部组成和装配方式,只需要知道建造者的类型即可 一步步的创建独立的复杂对象,不同的具体构 阅读全文
摘要:
原型模式 一:原型模式概述 在系统中有时候可能需要创建多个一模一样的对象,而有的对象创建过程十分复杂,或者创建对象很耗费资源亦或是创建对象十分频繁,那么这个时候就必须要解决这个问题,而原型模式则能很好的解决这个问题。 原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并 阅读全文
摘要:
java深克隆和浅克隆 基本概念 1. 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所拷贝的对象,而不复制它所引用的对象。 1. 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将 阅读全文
摘要:
单例模式 1.单例模式概述 基本定义 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例 对于系统的某些类来说,只含有一个实例很重要,有助于我们协调系统的整体行为。比如 等等都会被设计为单例,设计的初衷也是为了避免不一致状态。 2.常见的单例模式 饿汉式单例 1. 提供一个 避免 阅读全文
摘要:
工厂模式 一:简单工厂模式 1. 问题的引出 我们打算做一个制作pizza的系统,从订购到出货,初始代码如下: 客户端通过调用pizza类的orderPizza方法来创建pizza,根据type的不同来获取不同种类的pizza,然而以上的设计存在着很多问题: 1. Pizza类中存在大量的if el 阅读全文
摘要:
面向对象设计原则 概述 对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从 阅读全文