微服务拆分原则以及实践

拆分原则 1.明确服务边界。狗就好好的啃骨头,猫就老实拿耗子。 2.服务之间单向无环依赖。分析服务之间的依赖关系,可以是代码包级别的,也可以是业务逻辑级别的,保证无环才可拆解。 3.交互方式遵循上下游关系,下游叶子节点服务可以调用上游接...阅读全文

从0开始学架构之架构的目的

前言 本文介绍架构的目的是什么,架构是解决什么问题。 目的 架构的目的不是为了架构而架构,不是别人做了所以自己要做,不是为了技术自嗨。。。 架构的真正目的在于解决软件系统复杂度带来的问题。这条准则可以让新手架构心里有数,不会一头雾水,让...阅读全文

物联网的应用模式

一、前言 什么是模式?简单说就是一种总结,一种模版,一种标准流程。惯用法-设计模式-架构风格,就是IT这边常见的三层模式。至于应用模式,我的理解是特定应用领域下的模式。 由于物联网的特性,其有很多应用模式。这些应用模式并不是专属于物联网...阅读全文

PHP设计模式—中介者模式

定义: 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 结构: Mediator:抽象中介者,定义了同事对象到中介者对象的接...阅读全文

[C++] Class工厂

Class工厂本质 本质为实现一个Map,在程序的main函数运行前将可以生成各类实例的函数放到此Map中(即“注册”),总接下来需要一下几个条件: 实现一个Map,此Map在各注册逻辑运行前被初始化 为每个类实现一个生成函数,用于创建...阅读全文

23种设计模式总结

http://cj723.cnblogs.com 1:简单工厂模式 20210805 简单工厂模式又叫静态方法模式(因为工厂类定义了一个静态方法) 简单工厂模式是属于创建型设计模式,关注于对象的创建。 现实生活中,工厂是负责生产产品的;...阅读全文

物联网的数据方案

一、前言 经常可以在科幻电影/CG中看到,某个指挥官,对着前面一个超大的数据大屏,指点江山。那个数据大屏,上面有着各项指标,以及汇总数据,通过各色各样的图形展示出来。 从产品角度,指标与汇总条目的确定,决定了该数据大屏的价值。当然也可以...阅读全文

Java中集合和数组的区别

一、基本介绍 1、总的来说 区别: 数组特点:大小固定,只能存储相同数据类型的数据 集合特点:大小可动态扩展,可以存储各种类型的数据 2、具体说 区别: 数组和集合都是java中的容器。 1、数组声明了它容纳的元素的类型,而集合不声明。...阅读全文

PHP设计模式—职责链模式

定义: 职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 结构: Handle...阅读全文

分页查询包装成迭代器或流返回

分页查询要求调用者传递页码和页大小信息,是为了解决数据量太大而消费端无法一次性接纳这么多数据时所采用的技术手段。 对于具有“页”概念的消费端来说,采用分页查询和加载数据的确便捷且有效,但是某些场景下,调用者其实并不想关心分页查询这种具体...阅读全文

js里的职责链模式

职责链模式 职责链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 该模式类似于调用原型方法一样:在该对象没有该方法时向上一个原型上寻找方法;该模式这是该方法无法处理这个请求时,用下一个方法处理该请求...阅读全文

js里的模板方法模式

模板方法模式 模板方法模式的定义:在一个方法里定义算法的骨架,将一些步骤延迟到其子类。 意思是用一个方法包装多个函数的调用,这个方法就是模板,函数的使用只需要跟着模板里的步骤进行即可,同时根据情况可以放入钩子函数来选择是否在指定位置执行...阅读全文

十分钟全面理解Spring AOP

什么是AOP AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种...阅读全文

js里的发布订阅模式及vue里的事件订阅实现

发布订阅模式(观察者模式) 发布订阅模式的定义:它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。 发布订阅模式在JS中最常见的就是DOM的事件绑定与触发: //todo 注册点击事件 bt...阅读全文

js里的迭代器模式

迭代器模式 迭代器模式的定义:提供一个方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 简单来说就是实现对一个对象的迭代。。。 内部迭代器 这在ES6里已经有了原生的支持:[Symbol.iterator],该方法...阅读全文