草庐IT

设计模式 08 代理模式

代理模式(ProxyPattern)属于结构型模式概述代理模式就是一个代理对象来间接访问对象,常用于无法直接访问某个对象或访问某个对象不方便的情况。实际上代理在生活中处处都存在,比如房屋中介就是代理,Apple的授权经销商就是代理,访问国外网站所用的代理服务器也是代理,Spring框架的AOP也是通过代理模式实现的。这些代理都有一个共同特点,就是使用的一致性和中间环节的透明性,也就是说找代理做的事情需要与找对象本身做的事情是一样的,只是中间环节隐藏了而已。代理模式分为静态代理和动态代理。静态代理静态代理一般包含以下角色:动作:一般使用接口或者抽象类来实现。真实角色:被代理的角色。代理角色:代理

08-CubeMx+Keil+Proteus仿真STM32 - 定时器(一)

本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求通过定时器延时(阻塞)的方式,实现LED灯以1秒为周期闪烁。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示。要对芯片进行设置,我们首先要了解定时器的工作机制。(1)定时器概述STM32F103系列单片机最多支持8个定时器,其中STM32F103R6单片机内部仅保留TIM1、TIM2和TIM3这3个定时器,其中TIM1是高级定时器,TIM2和TIM3是普通定时器。普通定时器除具备基本的定时功能外,还可

08-CubeMx+Keil+Proteus仿真STM32 - 定时器(一)

本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求通过定时器延时(阻塞)的方式,实现LED灯以1秒为周期闪烁。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示。要对芯片进行设置,我们首先要了解定时器的工作机制。(1)定时器概述STM32F103系列单片机最多支持8个定时器,其中STM32F103R6单片机内部仅保留TIM1、TIM2和TIM3这3个定时器,其中TIM1是高级定时器,TIM2和TIM3是普通定时器。普通定时器除具备基本的定时功能外,还可

多商户商城系统功能拆解08讲-平台端商品分类

多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。多商户商城系统支持商家入驻加盟,同时满足平台自营、旗舰店等多种经营方式。平台可以通过收取商家入驻费,订单交易服务费,提现手续费,短信通道费等多手段方式,实现整体盈利。下面以likeshop多商户商城系统为例进行功能拆解,likeshop多商户商城系统可以实现快速部署,文档齐全,代码全开源,无加密,极易二次开发,助力企业以极低的成本上线平台电商业务。并且likeshop以其代码全开源,无加密的特性,极大的满足了平台运营发展过程中需要不断更新迭代的场景,完美支持后续扩展

多商户商城系统功能拆解08讲-平台端商品分类

多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。多商户商城系统支持商家入驻加盟,同时满足平台自营、旗舰店等多种经营方式。平台可以通过收取商家入驻费,订单交易服务费,提现手续费,短信通道费等多手段方式,实现整体盈利。下面以likeshop多商户商城系统为例进行功能拆解,likeshop多商户商城系统可以实现快速部署,文档齐全,代码全开源,无加密,极易二次开发,助力企业以极低的成本上线平台电商业务。并且likeshop以其代码全开源,无加密的特性,极大的满足了平台运营发展过程中需要不断更新迭代的场景,完美支持后续扩展

day08-自定义转换器&处理JSON&内容协商

自定义转换器&处理JSON&内容协商1.自定义转换器1.1基本介绍SpringBoot在响应客户端请求时,将提交的数据封装成对象时,使用了内置的转换器,也就是自动帮我们封装对象。springboot自带了124个转换器,可以实现大部分的类型间的转换。SpringBoot也支持自定义转换器。但当前台发送请求传递的参数使用内置的转换器不能转换时,这时就需要写一个自定义的数据类型转换器,我们只需要实现Converter接口的convert方法即可。1.2应用案例演示自定义转换器的使用。(1)save.htmlsave编号:姓名:年龄:婚否:生日:坐骑:(2)自定义转换器(String-->Car)p

day08-自定义转换器&处理JSON&内容协商

自定义转换器&处理JSON&内容协商1.自定义转换器1.1基本介绍SpringBoot在响应客户端请求时,将提交的数据封装成对象时,使用了内置的转换器,也就是自动帮我们封装对象。springboot自带了124个转换器,可以实现大部分的类型间的转换。SpringBoot也支持自定义转换器。但当前台发送请求传递的参数使用内置的转换器不能转换时,这时就需要写一个自定义的数据类型转换器,我们只需要实现Converter接口的convert方法即可。1.2应用案例演示自定义转换器的使用。(1)save.htmlsave编号:姓名:年龄:婚否:生日:坐骑:(2)自定义转换器(String-->Car)p

【《硬件架构的艺术》读书笔记】08 消抖技术

8.1简介在电子设备中两个金属触点随着触点的断开闭合便产生了多个信号,这就是抖动。消抖使用来确保每一次断开或闭合触点时只有一个信号起作用的硬件设备或软件。(说人话就是每次断开闭合只对应一个操作)。抖动在某些模拟和逻辑电路中可能产生问题,因为这些电路反应太快会将开关脉冲误当作数据流。时序逻辑数字电路特别容易收到触点抖动的影响。开关抖动产生的电压波形干扰正常逻辑电路的振幅和时序规格要求。结果是亚稳定性、竞争、小脉冲和故障等问题导致电路失效。8.2开关行为   若开关用于开灯或启动风扇马达,则触点抖动基本没有影响,但是用作数字计数器、个人计算器或微处理器等设备的输入,由于触点抖动就会产生问题。计数器

【《硬件架构的艺术》读书笔记】08 消抖技术

8.1简介在电子设备中两个金属触点随着触点的断开闭合便产生了多个信号,这就是抖动。消抖使用来确保每一次断开或闭合触点时只有一个信号起作用的硬件设备或软件。(说人话就是每次断开闭合只对应一个操作)。抖动在某些模拟和逻辑电路中可能产生问题,因为这些电路反应太快会将开关脉冲误当作数据流。时序逻辑数字电路特别容易收到触点抖动的影响。开关抖动产生的电压波形干扰正常逻辑电路的振幅和时序规格要求。结果是亚稳定性、竞争、小脉冲和故障等问题导致电路失效。8.2开关行为   若开关用于开灯或启动风扇马达,则触点抖动基本没有影响,但是用作数字计数器、个人计算器或微处理器等设备的输入,由于触点抖动就会产生问题。计数器

读编程与类型系统笔记08_面向对象变成的元素

1. 面向对象编程1.1. (Object-OrientedProgramming,OOP)1.2. 基于对象的概念的一种编程范式1.3. 对象可以包含数据和代码1.4. 数据是对象的状态1.5. 代码是一个或多个方法1.5.1. 消息是方法,包括名称、实参和返回类型1.6. 通过使用其他对象的方法,对象之间可以“对话”或者发送消息1.7. 关键特征1.7.1. 封装1.7.1.1. 允许隐藏数据和方法1.7.2. 继承1.7.2.1. 用额外的数据和代码扩展一个类型2. 接口2.1. 契约2.2. 描述了实现该接口的任何对象都理解的一组消息2.3. 接口没有任何状态2.4. 相当于书面协议2