02 2021 档案
摘要:浅拷贝 对数据类型是基本数据类型的成员变量,浅拷贝只会进行直接赋值 对数据类型是引用数据类型的成员变量,那么浅拷贝会进行引用赋值 深拷贝 复制对象所有基本数据类型的成员变量值 为所有引用数据类型的成员变量申请存储空间,并复制每个引用数据类型成员变量所引用的对象,直到改对象可以达所有对象
阅读全文
摘要:简单工厂模式 定义一个创建对象的工厂类,这个类负责封装实例化对象的细节 工厂方法模式 定义一个创建对象的抽象方法,由子类来决定要实例化的对象,将对象的实例化延迟到子类 抽象工程模式 定义一个接口用来创建相关的或者具有依赖性的对象簇 核心思想 将实例化对象的细节提取出来,放到工厂角色,由工厂角色负责具
阅读全文
摘要:省略文件名的情况 有时候我们会见到一些不太一样的URL,例如下面这个URL是以“/”来结尾的。 http://www.lab.glasscom.com/dir 我们可以这样理解,以“/”结尾代表dir后面本来应该有的文件名被省略了。根据URL规则,文件名可以像前面这样省略 不过没有文件名
阅读全文
摘要:浏览器要先解析URL 浏览器要做的第一步工作就是对URL进行解析、从而生成发送给Web服务器的请求消息。URL的格式不会随着协议的不同而不同,因此下面我们以访问Web服务器的情况为例来进行讲解。 根据HTTP的规格,URL包含图(a)中的这几个元素。当对URL进行解析时,首先需要按照图(a)
阅读全文
摘要:探索之旅从输入网址开始 我们的探索之旅从在浏览器中输入网址开始,在介绍浏览器的工作方式之前,让我们先来介绍一下网址。网址、准确的来说叫URL。如果我说他就是以http://开头的那一串东西,恐怕大家一下自己就明白了了,但实际上除了http,网址还可以以其他一些文字开头。列如ftp:、file:、
阅读全文
摘要:网络是怎么连接的-探索浏览器内部(一) 探索之旅的看点 探索之旅即将出发,出发之前我们先来介绍一下本次的看点 1、生成HTTP请求消息 本次探索之旅从用户在浏览器中输入网址(URL)开始,接下来浏览器的工作会从对用户输入的网址解析开始。浏览器如何解析网址就是我们的第一个看点。然后浏览器会根据网址
阅读全文
摘要:设计模式-单例模式 官方定义 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。并且该类只提供一个取得其对象实例的方法(静态方法) 举个最常见的例子,Spring中bean的默认都是单例模式,每个bean定义只生成一个对象实例,每次getBean请求获得的
阅读全文
摘要:UML类图介绍&类的六大关系 官方定义 UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的方式 UML 图形化的语言 基本介绍 UML图:通过不同的图形和符号,来描述软件模型以及各个元素之间的关系 UML图分类 用例图(use case) 静态结
阅读全文
摘要:设计原则总结 开闭原则:要求对扩展开放,对修改关闭 里氏替换原则:不要破坏继承体系 依赖倒置原则:要求面向接口编程 单一职责原则:实现类职责要单一 接口隔离原则:在设计接口的时候要精简单一 迪米特法则:只与直接的朋友通信 合成复用原则:尽量使用聚合和组合的方式,而不是使用继承 设计原则的核心思想 找
阅读全文
摘要:开闭原则 官方定义 开闭原则(Open Close Principle)又称为OCP原则,他的官方定义如下 一个软件实体如类,模块和函数都应该对扩展开放,对修改关闭 基本介绍 对扩展开发--提供方 对修改关闭--调用方 注意事项 开闭原则-最基础最重要的设计原则 开闭原则可以提要复用性和可维护性
阅读全文
摘要:里氏替换原则 聊聊继承 继承优势 提高代码的复用性(每个子类有拥有父类的属性和方法) 提高代码的可扩展性 继承劣势 继承是侵入性的(只要继承,就必须拥有父类的属性和方法) 继承机制很大的增加了耦合性 继承其实是一把双刃剑 基本介绍 里氏替换原则通俗的来讲:子类可以扩展父类的功能,但是子类不能修改父类
阅读全文