MongoDB学习笔记 简单概念 MongoDB是一个介于关系型数据库和非关系型数据库之间的数据库产品,它存储的数据格式是BSON(JSON的二进制存储格式),mongoBD...
MongoDB学习笔记 简单概念 MongoDB是一个介于关系型数据库和非关系型数据库之间的数据库产品,它存储的数据格式是BSON(JSON的二进制存储格式),mongoBD...
解释器模式:给定的一个表达式,通过定义它的语法和一个解释器,来解释该表达式 我大概的理解是,类似于语法解析、表达式解析这种问题,我们通过分析它的表达式或者文本,通过定义出一套...
备忘录模式:备忘录模式提供了一种状态恢复机制,使得用户可以很方便的回到一个特定的历史步骤。 现实场景是比较多的,比如文档编辑中的ctrl+z,或者代码提交中的回滚,都是这种概...
访问者模式:封装一些作用于某种数据结构中各元素的操作,在不改变元素结构的前提下可以上元素提供新功能。 大概的意思就是说,有一个数据结构,它里面有几个元素,这是固定的,但是呢又...
迭代器模式:对于一个容器中的一系列元素,提供一种按顺序访问其元素的方法,不考虑容器内部存储元素的结构。比如,集合可能有List, Set,Map,或者数组,不同的集合可以通过...
中介者模式:定义一个中介者对象,其中包含了一系列彼此之间有相互关联的对象,通过中介者来管理这些对象之间的关系,而不是对象直接之间发生联系。 使用一个例子来说明一下:假设有两个...
观察者模式:又称发布-订阅模式,多个观察者同时监听同一个主题对象,当主题对象的状态发生变化时,观察者监听到这个变化,然后做出相应的行为。 涉及到的角色主要是两个:主题和观察者...
设计模式-状态模式 状态模式:当一个事物有多种状态,并且不同的状态对应有不同的逻辑行为,通过它各自的状态来改变它的行为。 (网上有一句话大概是这个意思:定义对于初学者来说没啥...
责任链模式:当一个请求有多个处理对象,且这多个对象根据某种关系可以组成一条链路,当请求发生时,将请求沿着这条链路传递,直到符合条件的对象将其处理掉。 责任链模式最直观的例子就...
命令模式:将一个请求封装为一个对象,使得发出请求的责任和执行请求的责任分割开,这样执行者和调用者通过命令对象进行沟通,方便将命令对象进行存储、传递、调用、增加和管理。 在处理...
策略模式:对于同一个行为,当实施行为的对象发生变化时,具体的实现方式也跟着变化。 直接举个例子:比如公司要举行年会了,组织者设计了一个活跃气氛的环节,做个小游戏,但是做什么游...
模板模式:顾名思义就是定义一套模板,之后就按照这套模板执行。模板在父类中定义,子类不能修改这个模板,但是在模板中包含的部分方法的具体逻辑,可以自定义实现。 针对的场景,就是那...
享元模式:对于一些有共享功能的对象,减少他们的创建次数,提高重复利用对象的模式。 就是说,对于一些可以并且会多次利用的对象,我们创建一次然后把它放在一个地方,用的时候直接从这...
组合模式:将对象组合成树状结构用来表示层次关系。 它的使用场景就是类似于书本目录,或者部门上下级多层级结构。其实只要可以抽象成树状结构的问题就可以用组合模式来实现。 我们用一...
外观模式:又叫做门面模式,通过为多个子系统提供统一的接口,通过统一的接口访问子系统的模式。外部系统无需关注内部系统的实现逻辑。对外来说,降低了系统的复杂性。 举个例子: 假设...
桥接模式:是将抽象部分与他的实现部分相分离,使他们都可以独立地变化。 坦白说看完这种定义往往不知道说什么,到网上找找例子大概才能理解。桥接的意思其实就是字面意思,用一座桥把两...
装饰着模式:简单来说,就是现在有一个主体功能,需要在这个主体功能之外加一些附属功能,而且主体功能和附属功能都可以独立运行,类似于基础款和升级款的概念。就像是在主体功能之外加了...
适配器模式:将一个类的接口转换成另外一个接口,从而使得两个类可以兼容。 最容易理解的例子就是那个充电器的例子,我们国内的充电器与国外的插座并不匹配,我们用的是两头的,而国外是...
代理模式,类似于中生活中的中介的角色。在程序中,比如现在有一个类A,提供了一个功能x,在使用的时候,我们引入一个A的代理角色B,当有人想用A的x的功能的时候,不直接通过A来调...
建造者模式:把类对象的构造与装配分别实现。 单例、工厂、原型这几种模式的重点在于创建出一个个的实例对象来,而这个建造者模式的重点在于对某个对象的组成部分的装配。 在实际开发中...