0

解释器模式

#一、解释器模式介绍 ##1、定义与类型 定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 为了解释一种语言,而为语言创建的解释器 类型:行为型 #2、适用场景 某个特定类型问题发生频率足够高 ##3、优点 语法由很多类表示,容易改变及扩展此“语 ...

weixiaokun 发布于 2020-06-18 07:25 评论(0)阅读(14)
0

【转载】编程原则和模式

本人一直推崇写流畅、自然、可自解释的代码,让优雅成为一种习惯。 温故而知新,聊一聊现代编程几大常见的编程原则 普世原则 KISS (Keep It Simple Stupid) 保持系统结构简单可信赖 YAGNI (you aren't gonna need it) 当前确实需要,再去做 Do Th ...

编码养家 发布于 2020-06-17 16:11 评论(0)阅读(60)
0

软件设计模式学习(二十六)模板方法模式

模板方法是结构最简单的行为型设计模式,在抽象类中定义了一个称为模板方法的方法,在这个方法中定义其他基本方法的执行步骤,而基本方法的实现可以放在抽象类,也可以放在其子类 模式动机 现实生活中很多事情的完成过程都包含几个基本步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单几个步骤,到底吃什么 ...

低吟不作语 发布于 2020-06-17 15:12 评论(0)阅读(48)
0

策略模式

#一、策略模式介绍 ##1、定义与类型 定义:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。 可以替换掉大量的 if...else...… 类型:行为型 ##2、适用场景 系统有很多类,而他们的区别仅仅在于他们的行为 不同一个系统需要动态地在几种算 ...

weixiaokun 发布于 2020-06-17 07:22 评论(0)阅读(21)
0

【干货】整理分布式技术框架常用的算法及策略

将一些零散的知识点进行整理, 以便加深理解,方便查阅,也希望能帮到大家。 一、负载均衡算法 1. 随机 完全随机 通过系统随机函数,根据后端服务器列表的大小值来随机选择其中一台进行访问。由概率统计理论可以得知,随着调用量的增大,其实际效果越来越接近于平均分配流量到每一台后端服务器,也就是轮询的效果。 ...

梦在旅途 发布于 2020-06-16 20:48 评论(0)阅读(82)
0

23种设计模式之过滤模式

/** * 1.模式定义: * 过滤器(Filter Pattern)又称为标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象, * 通过预算逻辑以解耦的方式将他们联系起来。这种类型的设计模式属于结构模型,说白了,就是按条件筛选一组对象出来。 ...

赤赤元 发布于 2020-06-16 10:13 评论(0)阅读(59)
3

架构思考-业务快速增长时的容量问题

背景 之前做过一个项目,数据库存储采用的是mysql。当时面临着业务指数级的增长,存储容量不足。当时采用的措施是 1>短期解决容量的问题 mysql从5.6升级5.7,因为数据核心且重要,数据库主从同步采用的是全同步, 利用5.7并行复制新特性,减少了主从同步的延迟,提高了吞吐量。 当时业务量高峰是 ...

编程一生 发布于 2020-06-16 09:52 评论(1)阅读(504)
0

BUAA_OO_第四单元

一、UML解析器设计 ​ 先看下题目:第四单元实现一个基于JDK 8带有效性检查的UML(Unified Modeling Language)类图,顺序图,状态图分析器 MyUmlInteraction,实际上我们要建立一个有向图模型,UML中的对象(元素)可能与同级元素连接,也可与低级元素相连形成 ...

iff0 发布于 2020-06-15 12:42 评论(0)阅读(42)
1

【设计模式】如何用组合替代继承

如果问面向对象的三大特性是什么,多数人都能回答出来:封装、继承、多态。 继承 作为三大特性之一,近来却越来越不推荐使用,更有极端的语言,直接语法中就不支持继承,例如 Go。这又是为什么呢? 为什么不推荐使用继承? 假设我们要设计一个关于鸟的类。 我们将“鸟类”定义为一个抽象类 AbstractBir ...

丹枫无迹 发布于 2020-06-15 09:47 评论(2)阅读(322)
0

北航OO(2020)第四单元博客作业暨课程总结博客

北航OO(2020)第四单元博客作业暨课程总结博客 本单元作业的架构设计 在本单元中,由于UML图具有比较清晰的树形结构,因此我对其中需要进行查询操作的元素进行了包装,在树的父节点中存储所有孩子的引用。考虑到性能问题,我采用了缓存机制,一次查询后尽可能缓存已经遍历过的信息,以减少遍历次数。 本单元我 ...

__ref 发布于 2020-06-14 13:15 评论(0)阅读(73)
0

java 在线网络考试系统源码 springboot mybaits vue.js 前后分离跨域

题库管理 22. 图片库:创建文件目录,维护图片,供题库选择调用 23. 单选题:维护单选试题,试题题目,选项,答案,类型,级别,状态,解析 24. 多选题:维护多选试题,试题题目,选项,答案,类型,级别,状态,解析 25. 判断题:维护判断试题,试题题目,答案,类型,级别,状态,解析 26. 填空 ...

m17068219940 发布于 2020-06-14 10:12 评论(0)阅读(80)
3

为何说要多用组合少用继承?如何决定该用组合还是继承?

在面向对象编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承。为什么不推荐使用继承?组合相比继承有哪些优势?如何判断该用组合还是继承?今天,我们就围绕着这三个问题,来详细讲解一下这条设计原则。 ...

IT文艺男 发布于 2020-06-13 16:21 评论(2)阅读(403)
0

特征服务典型场景-离线与实时统计

例如有这样一个需求:业务方希望获取司机实时更新的累计完单量,需保证收到完单事件后秒级更新。由于滴滴订单量很大,单个司机的完单量从几单到几万单不等,直接查询底层存储如MySQL、ElasticSearch等存储,会对底层存储造成很大查询压力,并且延时也较高,在高并发等情况下容易出现各种问题。在特征服务 ...

大鹏123 发布于 2020-06-13 13:42 评论(0)阅读(49)
0

20200612/DDD-理解核心概念

一、前言 DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了。 自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平台也算是对DDD的推广尽了一份绵薄之力。 一开始接触这个东西是在2014年,真的觉得像是发现了一片新大陆一 ...

zwpflc 发布于 2020-06-12 15:12 评论(0)阅读(73)
0

直播平台的技术架构揭秘

2020年春节的这场疫情让线下零售降至冰点,但是却带火了直播应用。直播电商、直播教育等各类直播应用可谓赢得了历史性的机会,很多大众开始接受并认可这种新型应用的便利和价值,个人感觉随着5G的普及,『直播+垂直领域+精细化的私域流量』将会是互联网的一个大热点,迎来真正的红利期。 直播行业大概在10年多前 ...

IT人的职场进阶 发布于 2020-06-12 14:10 评论(0)阅读(465)
0

讲清责任链模式

责任链模式 (Chain of Responsibility Pattern) 责任链模式相信很多人在工作中也接触过。 javax.servlet.Filter struts的拦截器 SpringMVC的拦截器 那么,接下来我们来进行更加深入的、直观的了解。 讲解重点 责任链示例代码 链条与链条之间 ...

雅核 发布于 2020-06-12 11:27 评论(0)阅读(37)
0

软件设计模式学习(二十五)策略模式

策略模式用于算法的自由切换和扩展,实现了算法定义和算法分离的使用 模式动机 要完成一项任务,可以有多种不同的方式,例如人们外出旅游时可以选择多种不同的出行方式,如自行车、坐汽车、坐高铁或乘飞机等,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该任务。 在实际的软件开发中, ...

低吟不作语 发布于 2020-06-12 08:59 评论(0)阅读(98)
0

建造者模式

建造者模式(Builder Pattern) 定义:Separate the construction of a complex object from its representation so that the same construction process can create diffe ...

meigang 发布于 2020-06-11 10:18 评论(0)阅读(23)
2

开发内容分解的9个角度

在开发工作中,我们常常要将整体的开发内容分解成一些较小的部分,分而治之。 原因不限于以下几种: 分解和抽象使得开发内容更容易被理解。 可以将分解后的开发内容分配给多人开发。 分解后的开发时间更容易估算,进度更易于衡量,有利于做计划。 古人说“横看成岭侧成峰”,意指从不同的角度观察事物时会得到不同的抽 ...

氢氦 发布于 2020-06-10 12:35 评论(0)阅读(410)
1

迭代器模式

#一、迭代器模式介绍 ##1、定义与类型 定义:提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部表示 类型:行为型 ##2、适用场景 访问一个集合对象的内容而无需暴露它的内部表示 为遍历不同的集合结构提供一个统一的接口 ##3、优点 分离了集合对象的遍历行为 ##4、缺点 类的 ...

weixiaokun 发布于 2020-06-10 06:54 评论(0)阅读(27)