摘要:
关于HashMap以对象作为Key的实现及踩坑 1 场景 今天遇到了这样一串代码 对于画圈的部分,看起来很奇怪,我一开始想改为: result.get(groupPath).add(indexes); groupPath.addMeasurements(exactPath.getMeasuremen 阅读全文
摘要:
查询处理 1 概述 1.1 基本步骤 语法分析与翻译 优化 执行 1.2 查询 一个查询,一般都会有多种计算结果的方法。 例如,select salary from instructor where salary<75000; 可以被翻译为以下任意一个关系代数表达式 要全面说明如何执行一个查询,有以 阅读全文
摘要:
防御式编程 防御式编程 为什么要防御式编程 编写大多数情况下都能用(可用)的代码很容易。但是提供意外输入会崩溃 正确的代码绝不会崩溃。但所有可能输入集合很大,难以测试;并非所有正确的代码都是优秀的代码,可能逻辑难以理解,并几乎无法维护 优秀的代码是健壮的、高效的、当然也是正确的。即便面对不常见输入, 阅读全文
摘要:
面向对象设计原则 目标:开闭原则 指导:最小知识原则 基础:单一职责原则、可变性封装原则 实现:依赖倒转原则、合成复用原则、里氏代换原则、接口隔离原则 单一职责原则SRP Single Responsibility Principle 定义:一个对象应该只包含一个单一的职责,并且该职责被完整地封装在 阅读全文
摘要:
设计模式概述 索引 我的一些笔记 面向对象设计原则 设计模式总结:创建型模式 设计模式总结:行为型模式 设计模式总结:结构型模式 值得参考的网站 http://c.biancheng.net/design_pattern/ https://design-patterns.readthedocs.io 阅读全文
摘要:
表驱动(直接访问、索引访问、阶梯访问) 表驱动是一种编程模式(scheme),将复杂的逻辑从代码中独立出来,便于单独维护 直接访问表 Direct Access 通过索引值(下标)直接从表中找到对应的条目 案例 案例1:(一维查找:即可以代替一层的if结构或者switch结构): 比如你要查找1-- 阅读全文
摘要:
行为型模式 行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承 阅读全文
摘要:
结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 类模式 (类)适配器模式 对象模式 (对象)适配器模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 代理(Proxy) 阅读全文
摘要:
创建型模式 类模式 工厂方法模式 对象模式 抽象工厂模式 建造者模式 原型模式 单例模式 单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。 原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类 阅读全文
摘要:
MIT 6.830 LAB3 Query Optimization查询优化器 2021/04/12-2021/04/17 前言 课程地址:http://db.lcs.mit.edu/6.830/sched.php 代码:https://github.com/MIT-DB-Class/simple-d 阅读全文