数据库的设计模式之三大范式和反三范式
Day_02内容:1.数据库设计的三大范式和反第三范式第一范式:组成表中的各列不可再拆分,第二范式:一张表只说一件事(数据库是二维表格描述一件事)第三范式:在同一张表中,消除传递依赖(如果表中有A和B,且根据A,B能得到C,就不要把C展示出来),两张表中也存在传递依赖.拿空间换时间.反第三范式:不满足第三范式,键.建立出传递依赖的字段.拿空间换时间.说到第三范式就先说一下mybatis的加载策略....
设计模式与范式 --- 行为型模式(模板方法模式)
写在前定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。实际上是封装了一个固定流程,该流程由几个步骤组成,具体步骤可以由子类进行不同实现,从而让固定的流程产生不同的结果。其实就是类的继承机制,但它却是一个应用非常广泛的模式。本质:抽象封装流程,具体进行实现1.模式概述结构图从 UML 类图中,我们可以看到,模板方法模式 主要包含....
设计模式与范式 --- 行为型模式(观察者模式)
写在前观察者模式定义:在对象之间定义一个一对多的依赖,一个主题对象(Subject)依赖多个观察者对象(Observer)。当主题对象发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式又叫发布-订阅模式(Publish/Subscribe),有同步阻塞和异步非阻塞这两种实现方式。大白话:其实就是发布-订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信....
设计模式与范式 --- 行为型模式(策略模式)
写在前在实际的项目开发中,策略模式也比较常用。最常见的应用场景是,利用它来避免冗长的 if-else 或 switch 分支判断。不过,它的作用还不止如此。它也可以像模板模式那样,提供框架的扩展点等等。工厂模式是解耦对象的创建和使用,观察者模式是解耦观察者和被观察者。策略模式跟两者类似,也能起到解耦的作用,不过,策略模式解耦的是策略的定义、创建、使用这三部分。接下来,我就详细讲讲一个完整的策略模....
设计模式与范式 --- 适配器模式、装饰器模式与代理模式的区别与联系
1.设计意图(1)适配器模式结构图:设计意图:将一个类的接口转换成另外一个客户希望的接口,分为基于多继承的类适配和基于对象组合的对象适配。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。Adapter模式通过类的继承或者对象的组合侧重于转换已有的接口,类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松....
设计模式与范式 --- 结构型模式(装饰器模式)
写在前如果对 Java IO 类做一下分类,我们可以从下面两个维度将它划分为四类:输入流字节流:InputStream输出流字节流:OutputStream输入流字符流:Reader输出流字符流:Writer针对不同的读取和写入场景,Java IO 又在这四个父类基础之上,扩展出了很多子类。当我们打开文件 test.txt,从中读取数据。其中,InputStream 是一个抽象类,FileInp....
设计模式与范式 --- 结构型模式(适配器模式)
写在前适配器模式的英文翻译是 Adapter Design Pattern,定义一个包装类,用于包装不兼容接口的对象。解决问题:将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。实现方式:类适配器和对象适配器。其中,类适配器使用继承关系来实现,对象适配器使用组合关系来实现。1.实现方式说明:ITarget 表示要转化成的接口定义。Adaptee 是一组不兼容I....
设计模式与范式 --- 结构型模式(桥接模式)
写在前Decouple an abstraction from its implementation so that the two can vary independently.解耦抽象和实现,使得两者可以独立的变化。桥接模式遵循了里式替换原则和依赖倒置原则,最终实现了开闭原则!桥接模式 的核心在于 解耦抽象和实现,类似于多重继承方案,但是多重继承方案往往违背了类得单一职责原则,其复用性比较差....
设计模式与范式 --- 结构型模式(代理模式)
1.写在前代理模式(Proxy): 为其他对象提供一个代理,用来控制这个对象的访问。解读:使用代理模式以后,客户端直接访问代理,代理在客户端和目标对象之间起到中介的作用。案例分析:当我们开发了一个 MetricsCollector 类,用来收集接口请求的原始数据,比如访问时间、处理时长等。具体代码如下:当我们开发了一个 MetricsCollector 类,用来收集接口请求的原始数据,比如访问时....
设计模式与范式 --- 创建型模式(工厂模式)
1.写在前在介绍工厂模式之前,我们先思考如下场景:有一天,林同学准备去买笔记本,他到商城发现有两款电脑他特别喜欢, 一款是 Macbook Pro, 另一款是 Surface Pro。根据以上的场景,类图可以如下表示:原始场景代码实现:interface Computer { public void printComputer(); } class MacbookProComputer ...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。