摘要: 抽象原则倡导 通过精简和概括来简化实体 :精简是删除不必要的细节,而概括是找出并定义通用的的重要特征。 这是什么? 这是一个笑脸,那么我们是怎么知道这是一个笑脸的呢?通过抽象。人脸数以亿计,却各不相同。我们忽略了不重要的细节,如发型和发色。我们还概括了相同的东西,每个人都有两只眼睛,微笑时嘴角上扬。 阅读全文
posted @ 2018-05-04 08:04 CoderFocus 阅读(710) 评论(1) 推荐(12) 编辑
摘要: 未利用封装 客户代码使用显式类型检查(使用一系列if else或switch语句检查对象的类型),而不利用出层次结构内已封装的类型变化时,将导致这种坏味。 为什么要利用封装? 一种臭名昭著的坏味是,在客户代码中使用条件语句(if else或switch语句)来显式地检查类型,并根据类型执行相应的操作 阅读全文
posted @ 2018-05-03 07:37 CoderFocus 阅读(1039) 评论(1) 推荐(19) 编辑
摘要: 缺失封装 没有将实现变化封装在抽象和层次结构中时,将导致这种坏味。 表现形式通常如下: 客户程序与其需要的服务变种紧密耦合,每当需要支持新变种或修改既有变种时,都将影响客户程序。 每当需要在层次结构中支持新变种时,都添加了大量不必要的类,这增加了设计的复杂度。 为什么不能缺失封装? 开闭原则(OCP 阅读全文
posted @ 2018-05-02 08:17 CoderFocus 阅读(1216) 评论(6) 推荐(55) 编辑
摘要: 泄露的封装 抽象通过公有接口(方法)暴露或泄露实现细节时,将导致这种坏味。需要注意的是,即使抽象不存在“ "不充分的封装" ”坏味,其公有接口也有可能泄露实现细节。 为什么不能泄露封装? 为实现有效封装,必须将抽象的接口(即抽象的内容)和实现(即抽象的方式)分离。为遵循隐藏原则,必须对客户程序隐藏抽 阅读全文
posted @ 2018-05-01 01:17 CoderFocus 阅读(916) 评论(2) 推荐(13) 编辑
摘要: 封装原则倡导通过 隐藏抽象的实现细节 和 隐藏变化 等来实现关注点分离和信息隐藏。 以汽车为例,我们并不需要了解发动机的原理就可以开车。这准确描绘了封装原则的作用:用户无需知道抽象(汽车)的细节,此外,封装原则还让抽象能够隐藏实现细节的变化。发动机是汽油发动机还是柴油发动机并不会对我们开车造成影响。 阅读全文
posted @ 2018-04-30 18:50 CoderFocus 阅读(839) 评论(1) 推荐(7) 编辑
摘要: [TOC] 二叉查找树定义 每棵子树头节点的值都比各自左子树上所有节点值要大,也都比各自右子树上所有节点值要小。 二叉查找树的中序遍历序列一定是从小到大排列的。 二叉查找树节点定义 插入节点 二叉查找树的插入节点操作相对比较简单,只需要找到要插入节点的位置放置即可。 插入节点的整体流程: 1. 把父 阅读全文
posted @ 2018-04-30 11:21 CoderFocus 阅读(6564) 评论(2) 推荐(16) 编辑
摘要: [TOC] 扯一扯 昨天在看《极客时间》严嘉伟老师的《如何做出好的职业选择——认识你的职业锚》专题直播时,严老师讲到了关于 选择 的一些问题,我认为其中的一些点讲的非常好,总结一下分享给大家。 人为什么难做选择? 选择意味着放弃 你选择一方,也就意味着放弃了另一方。摆在你面前的选择项越接近,你的选择 阅读全文
posted @ 2018-04-27 20:54 CoderFocus 阅读(39578) 评论(4) 推荐(33) 编辑
摘要: [toc] 开头说点题外话,在帅张星球上看到一个提问(下图),觉得帅张回答的很中肯很在理。论一个男生上进心的重要性,不上进找不到女朋友啊,当然了不要以为上进了就能找到女朋友!管他什么女朋友,我的心里只有学习!继续我们的数据结构学习之旅,这一次我们学习的是树。 树的定义 树(Tree)是n(n =0) 阅读全文
posted @ 2018-04-26 08:05 CoderFocus 阅读(8207) 评论(15) 推荐(72) 编辑
摘要: 勤于总结,持续输出! 1.栈 1.1栈的定义 栈(stack)是限定在 表尾进行插入和删除 的操作的 线性表 。 我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不包含任何数据元素的栈称为空栈。栈又称为 后进先出 (Last In First Out)的线性表,简称LI 阅读全文
posted @ 2018-04-16 22:30 CoderFocus 阅读(7769) 评论(6) 推荐(25) 编辑
摘要: [TOC] 之前在做web开发时使用到HTTP首部的时候遇到不熟悉的都是现用现查,时间一长印象就不深刻了。最近在重读《图解HTTP》,其中有一章是专门讲解HTTP首部的,讲解的HTTP首部很多,在这里总结了一些平常使用比较多的首部。 1. HTTP报文首部 HTTP的请求和响应报文必定包含HTTP首 阅读全文
posted @ 2018-04-15 01:07 CoderFocus 阅读(900) 评论(0) 推荐(8) 编辑