最近在学习netty中发现其中用到了责任链模式,然后结合自己在写代码中遇到了大量写if...else的情况,决定学习一下责任链模式。 一.什么样的场景下会选择用责任链模式 我们在进行业务逻辑判断时,需要根据传入参数类型的不同做出不同的处理,如果在传入的参数类型相对较少的情况时,可以用if...els ...
分类:
编程语言 时间:
2019-12-07 16:38:53
阅读次数:
92
MapReduce可以实现一个简单的好友推荐,本文参考了文末博主的思路,个人感觉不错,自己修改部分代码也简单实现了,记录下。 数据准备 如下数据就是好友关系,同一行的两个人就是好友,需要在这数据里寻找两个人是否是潜在好友,即两人不是直接好友,但是却有共同的好友,需要将这样关系的两个人作为结果推荐出去 ...
分类:
其他好文 时间:
2019-12-07 01:05:23
阅读次数:
112
简单工厂VS工厂方法 计算器的简单工厂方法模式结构图 计算器的工厂方法模式结构图 区别: 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但当我们添加新需求时,比如给计算器增加一个求M数的N次方的功能,就需要修改 ...
分类:
其他好文 时间:
2019-12-06 15:14:27
阅读次数:
87
1、异步处理时防止重复点击的逻辑校验 场景 打款请求时,进入异步处理的队列,生成一个任务号,存在如数据库,且状态为未完成。此时,如果并发操作,如重复点击或者重复调用接口,则发出的两条请求可能被分配到不同服务器处理,此时数据库产生两条数据,同一任务id对应不同进程id,属于异常场景。程序逻辑判断数据> ...
分类:
其他好文 时间:
2019-11-30 17:40:33
阅读次数:
96
[TOC]一,DAY61.shell脚本介绍shell是一种脚本语言aming_linuxblog.lishiming.net可以使用逻辑判断、循环等语法可以自定义函数shell是系统命令的集合shell脚本可以实现自动化运维,能大大增加我们的运维效率2.shell脚本结构和执行开头需要加#!/bin/bash,这是shell的固有格式,指定接下来要运行的命令,是通过那一个解释器来操作的以#开头的
分类:
系统相关 时间:
2019-11-21 18:30:50
阅读次数:
89
㈠布尔(Boolean)类型 布尔值只有两个,主要用来做逻辑判断 true 表示真 ; false 表示假 使用typeof检查一个布尔值时,会返回boolean ㈡Null和Undefined类型 ⑴Null(空值)类型的值只有一个,就是null null这个值专门用来表示一个为空的对象 使用ty ...
分类:
其他好文 时间:
2019-11-16 18:06:28
阅读次数:
140
Fabric 的网络节点本质上是互相复制的状态机,节点之间需要保持相同的账本状态。为了实现这个目的,各个节点需要通过共识( consensus )过程,对账本状态的变化达成一致性的认同。 Fabric 的共识过程包括 3 个阶段:背书、排序和校验。 背书 在背书( endorsement )阶段中, ...
分类:
其他好文 时间:
2019-10-31 16:31:40
阅读次数:
157
iOS/input输入框调用软键盘底部留白 只需input输入框失去焦点时,让页面自动下移即可恢复 在该代码基础上增加了一些简单逻辑,判断是否为ios系统和是否为微信6.7.4版本。 代码: 原文链接:https://blog.csdn.net/weixin_42992083/article/det ...
分类:
移动开发 时间:
2019-10-25 13:27:28
阅读次数:
111
整型、浮点型、字符串型、列表型、字典型、布尔型 一、整型(int) 1.1作用 表示人的年龄、各种号码、级别 1.2定义 输出结果: 1.3 如何用 加减乘除、逻辑判断(大于、小于) 二、浮点型(float) 2.1 作用 表示身高、体重、薪资 2.2 定义 输出结果: 2.3 如何用 加减乘除、逻 ...
分类:
其他好文 时间:
2019-10-23 23:52:23
阅读次数:
138
前提: 简单工厂模式,是在工厂类中进行逻辑判断,根据客户端的条件动态实例化相关的类,去除了客户端与具体产品的依赖,但是这样有一个问题,违反了开放封闭原则,如果新增一个逻辑,就必须修改工厂类中的逻辑判断的代码。 工厂模式解决了这个缺点。将工厂类接口抽象化,然后创建不同的子类工厂类,实现工厂类接口。每个 ...
分类:
其他好文 时间:
2019-10-17 23:35:27
阅读次数:
106