自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的博客

我的博客文章

  • 博客(315)
  • 资源 (6)
  • 收藏
  • 关注

原创 SpringBoot整合SpringSecurity实现权限控制(一)

文章目录一、前言二、实现原理三、具体实现3.1 给后台方法加上权限控制3.2 后台服务在生成JWT令牌时写入用户所拥有的权限四、跟踪jwt 令牌包含权限一、前言在《手把手教你通过SpringBoot实现邮箱注册码验证》文章中实现了基于邮箱的用户登录认证。在《Vue+SpringBoot 实现用户头像上传(附前后端源码)》文章中又添加了更新用户头像的方法与功能。为了安全起见,除了以上必备的用户认证(登录)识别用户是否合法外,还需要根据权限来控制用户是否能够执行某项操作。比如说我们希望给上传用户头像的

2021-08-23 16:48:12 5511

原创 Vue实现省市区信息选择(附前端源码)

文章目录一、背景二、Cascader 级联选择器三、element-china-area-data省市区级联数据四、前端页面增加省市选择五、 实现效果六、 前端源码一、背景在电商平台中一般会有更新用户个人信息的模块(见下图),在这个功能中,系统会要求用户填写省市区信息及详细地址,便于订单的准确配送。本文将通过Vue+SpringBoot来具体实现用户所在省市区信息的选择与保存。二、Cascader 级联选择器用户在选择省市区时,一般会选择省,再选择地市,最后选择区或县市。对于这种数据集合有清

2021-08-20 11:11:38 7002

原创 Vue+SpringBoot 实现用户头像上传(附前后端源码)

文章目录一、背景二、vue-image-crop-upload组件三、编写前端上传头像功能四、编写后台上传用户头像接口4.1 实现前端组件上传过来的头像文件保存到服务器上4.2 将保存在服务器上的用户头像路径存放到用户信息表中4.3 编写用户更新头像信息API五、前后端联调六、源码一、背景后台系统一般会有用户个人信息的模块(见下图),为了增强用户的体验度,系统会开放自定义头像的功能,让用户可以上传自定义图片替代默认的系统头像。本文将通过Vue+SpringBoot来具体实现。二、vue-imag

2021-08-19 12:33:49 13611 8

原创 手把手教你通过SpringBoot实现邮箱注册码验证

一、前言注册一个系统成为用户,一般会要求用户留下一个邮件地址作为联系方式,就象我们去银行开户时银行会让我们留个手机号码一样。为了证明注册的邮箱地址是本人的,系统会向邮箱发送一串验证码,用户收取该验证码后在注册页面上输入验证码连同其他信息发往后台进行验证。...

2021-08-17 13:28:06 13930 7

原创 技术管理者如何面试一个专业技术人员

前言“我们知道,即使是评估一个朝夕相处的下属的绩效都不容易,更不用说要你在一两个小时之内判断出这个人是否能胜任全新的工作了。”“绩效评估已经很难,面试则是难上加难!但我们必须意识到这是经理人责无旁贷的工作,再难也得做。重要的是你要先明白这件事具有很高的风险及失败率。”企业在快速发展的过程中,根据战略目标的设定,必然会需要引进一些新的专业性岗位,比如产品工程师、数据工程师、税务筹划师等。在面试这些专业性强技术性强的岗位时,管理者必然会碰到一些难题,比如说如何判断面试人员“懂的”正是我需要“用的”?

2021-08-13 13:21:59 935

原创 使用lombok插件实现时间字段的默认值

一、背景有时候我们在向数据库表中增加记录时,希望不需要编写代码就能实现某个字段值的插入。比如以下表中的create_time时间字段,增加记录时默认插入当时最新时间。二、lombok实现可以通过lombok插件的@Builder.Default注解实现:/** * 用户表 * * @author zhuhuix * @date 2020-04-03 */@ApiModel(value = "用户信息")@Data@SuperBuilder@NoArgsConstructo

2021-08-04 15:21:00 2315

原创 技术管理者先做好自我管理

“管理者能否管理好别人从来就没有被真正验证过,但管理者却完全可以管理好自己”“管理者需要练习,每一位管理者都是锻炼出来的,优秀的管理者不是天生的。只要愿意学习,花时间实践,都能成为优秀的管理者。”从德鲁克的《卓有成效的管理者》书中学习到了卓有成效的管理者必须在思想上养成的五大习惯:1、善用时间;2、重视贡献;3、发挥长处;4、集中精力;5、有效决策。这段时间也通读了史蒂芬.柯维的《高效能人士的七个习惯》,以下是结合高效能人士的前三个习惯来加深技术管理者自我管理的理解:一、积极主动“别人期望我做出.

2021-07-23 14:11:02 242

原创 手把手教你使用Vue搭建注册登录界面及前端源码

文章目录一、前言二、概况三、搭建注册页面四、改造登录页面四、整体效果动画演示五、前端源码下载六、后续一、前言本文将在vue-admin-template模板基础上完成搭建注册与登录页面。文末处有完整的前端源码下载。环境准备浏览器:ChromeIDE: VS CodeNode.js 10+,npm二、概况我们先了解一下整个项目的目录结构├── build # 构建相关├── mock

2021-07-20 11:47:14 32890 21

原创 规划项目的思考

“规划项目时,不论是作为一名咨询顾问推销自己的服务,还是被组织安排去解决一个内部问题,都要量力而行。树立明确和可到达的目的地。那样的话,你的目标是可以实现的,客户也会满意。”问题比如一个项目,各方收集来的需求充满了不确定性,或者涉及刚刚建立或者重新调整过的单位和组织,或者组织部门之间的流程及协作并不清晰,我们无法选择避免VUCA(Volatility(易变性)、Uncertainty(不确定性)、Complexity(复杂性), Ambiguity(模糊性))的环境,碰到这样的情形,可能持续很长一.

2021-07-16 13:42:42 251

原创 自定义element-ui表单验证的样式

一、默认样式我们使用element-ui表单的时候,一般会使用该组件的规则验证器,比如注册时会定义以下规则: <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" autocomplete="off" hide-required-asterisk="true" size="medium

2021-07-15 17:19:58 2520

原创 用哈希表解决leetcode罗马数字转整数问题

一、问题分析本文将继续使用Hash表的<Key,Value>映射结构来解决Leetcode问题。LeetCode14:罗马数字转整数单个罗马字符对应如下数值两个罗马数字对应如下数值:问题:输入一串罗马数字的字符串,根据罗马数字的对应关系算出整数值二、题解思路首先想到的肯定是将单个罗马字母对应的整数及两个罗马字母对应的整数通过哈希表建立映射关系;从前到后遍历输入的字符串,根据子字符串在哈希表中找对应的整数值,依次累加,直至循环结束。这里有个技巧,先

2021-07-08 16:25:35 209

原创 IT人员要善用图表来说明问题

引言“图表是一种重要形式的语言。经过良好的构思设计后,与单纯的数据列表相比,它们能够更快更清晰地帮助我们进行交流。”用好图表,可以在平时工作时花较少的时间,用最简单的方法,直击问题的要害,让自己的工作更加有效。实例我们项目组有个项目是XX公司的供应链BI项目,目标是要开发快捷便利的仪表盘,辅助公司总经理进行科学决策。以往总经理在做采购决策时,需要让采购部门从ERP中拉取“当前库存、采购在途、近30天销售、期初库存”等等基础数据,并合并到EXECL表格中,由于人为拉取的数据本身就相当杂乱且并

2021-07-08 12:37:23 277

原创 2021半年度博客总结

文章目录一、前言二、博客写作三、读有价值的书四、小结一、前言不知不觉2021年已过了一半,在繁忙的工作之余,通过博客写作及读有价值的书,是提升自身能力的最有效手段。以下将通过这两方面的回顾,总结这半年的历程。二、博客写作上半年度博客写作概况如下:原创文章共48篇,其中技术类文章44篇,管理类文章共4篇。44篇技术类文章中主要分为以下几个分类:设计模式共15篇文章该系列的文章结合简单的实例(自己全部调通)把主要的设计模式进行了回顾,很好的加深了概念的理解,例如:《设计模式十四

2021-07-02 09:31:00 333 2

原创 用哈希表解决一个经典的leetcode问题

文章目录一、哈希表二、LeetCode 1. 两数之和三、代码一、哈希表在记录的存储位置和它的关键字之间建立一个确定的对应关系H,以函数H(key)作为关键字为key的记录在表中的位置,这个对应关系H称为哈希(Hash)函数(又称散列函数),按这个思想建立的表为哈希表(HashTable)。哈希表的时间复杂度:在常规情况下查找、插入、删除都是O(1)二、LeetCode 1. 两数之和分析一下题目:题意 :给定数组与目标值,需要从数组中找出两个数,这两数相加之和等于目标值;如

2021-06-28 17:33:09 211

原创 技术管理中的电梯法则

一、【主题】:电梯法则电梯法则的理论来源于《麦肯锡方法》“你已经对自已的解决方案了如指掌,可以在30秒内向客户进行准确无误的解释,假如能做到这一点,就证明你对自已的工作充分了解,并足以推销你的解决方案了。”电梯法则是一种能保证管理者的时间得以有效利用的方式,特别是在多人参加的专项会议或下级向上级汇报重要工作时,管理者需要快速简明扼要地提炼观点,把清晰的中心思想表达出来,让会议或决策更加高效。二、电梯法则的理解如果我们按照“电梯法则”要把《麦肯锡方法》推荐给同事进行阅读,个人觉得可以遵

2021-06-26 10:13:06 456

原创 用二分查找算法演练一个经典的LeetCode问题

文章目录一、背景二、LeetCode 162. 寻找峰值三、算法一、背景在《用二分查找算法演练一个简单的LeetCode问题》中,我们使用二分查找算法解决了一个实际问题。在《用二分查找算法演练一个复杂的LeetCode问题》中,我们使用二分查找算法解决了一个复杂问题。本文将通过这个代码模板去演练一个经典问题(查找大数或小数),再次加深对此算法的了解。二、LeetCode 162. 寻找峰值问题链接:https://leetcode-cn.com/problems/find-peak-ele

2021-06-25 14:02:54 163

原创 用二分查找算法演练一个复杂的LeetCode问题

文章目录一、背景二、LeetCode 240. 搜索二维矩阵三、算法一、背景在上文《用二分查找算法演练一个简单的LeetCode问题》中,我们使用二分查找算法解决了一个实际问题。本文将通过这个代码模板去演练一个LeetCode的复杂问题,再次加深对此算法的了解。二、LeetCode 240. 搜索二维矩阵问题链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一

2021-06-23 11:29:57 155

原创 用二分查找算法演练一个简单的LeetCode问题

文章目录一、背景二、LeetCode 35: 搜索插入位置三、算法一、背景通过上文《用一段动画看清二分查找算法的原理》我们了解了二分查找算法的底层原理及实现的代码模板。本文将通过这个代码模板去演练一个LeetCode的简单问题,以加深对此算法的了解。二、LeetCode 35: 搜索插入位置问题链接:https://leetcode-cn.com/problems/search-insert-position/该问题中其实包含了两层意思:如果在数组中存在目标值,就将目标值的下标找出

2021-06-21 15:46:23 172 2

原创 用一段动画看清二分查找算法的原理

文章目录一、背景二、使用前提三、动画实现四、代码模板一、背景二分查找是算法课程入门阶段经常被提到的一种算法,我们对其代码模板也已经滚瓜烂熟了。本文将会通过一段简单的动画来模拟二分查找的实现,让我们可以更直观地理解这个算法的底层原理。二、使用前提应用二分查找算法是有一定的使用前提的:查找的对象可以通过索引访问(对象一般为数组)存在左右边界(数组的左边界下标为0,右边界下标为数组长度减1)最关键的是这个查找的对象要有次序(数组是顺序递增或顺序递减的)三、动画实现请大家结合动画与

2021-06-17 08:44:14 467

原创 设计模式十四:用一个请假流程的例子说清楚责任链模式

文章目录一、背景二、请假流程三、请假测试4、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Ja

2021-06-08 12:46:29 524

原创 设计模式十三:用一个组配吃鸡电脑的例子说清楚建造者模式

文章目录一、背景二、实现三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Java集合类的It

2021-05-25 11:27:54 304

原创 技术管理者需要认识管理活动的高杠杆率

1、引言杠杆率是用于表示某项管理活动的作用力的大小:高杠杆率在单位时间里会得到更高的产出,低杠杆率相比高杠杆率在单位时间里的产出则较低,更可怕的是管理活动还有负杠杆率,不但得不到成果产出,甚至还会造成负作用。2、手段- 我们想要达成高杠杆率,可以采取以下一些手段:有效会议(这个管理活动能够一下子影响很多人,当然前提是对会议有良好的准备,会议有效率。一对一沟通 也有较高的杆杠率,能够及时了解存在的问题和疑问,并进行及时解决。)。人员培养,团队培训(该项不仅能够培养人,以点带面更能推动团

2021-05-22 12:37:40 545 2

原创 设计模式十二:用一个中介卖房的例子说清楚代理模式

文章目录一、背景代理模式三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Java集合类的It

2021-05-18 16:41:25 331

原创 设计模式十一:用一个快递包裹的例子说清楚状态模式

文章目录一、背景二、状态模式三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Java集合类的

2021-05-14 08:06:04 433

原创 Power BI Desktop使用技巧一:KPI可视化

文章目录一、背景二、KPI2.1 准备数据2.2 创建KPI视图2.3 增加月份筛选切片器三、总结一、背景企业信息化过程中管理层往往会提出一些BI的需求,比如说:销售趋势分析,客户漏斗图,目标与完成绩效KPI等。本文将通过Power BI Desktop软件针对绩效KPI可视化分析进行详细说明。二、KPIKPI是常用于直观展现目标是否达成及实际与目标之间的差距,且在企业中一般会以某个周期来对比两者之间的差异2.1 准备数据我们需要准备好在某一周期内目标值与实际达成值这样的基础数据:

2021-05-06 15:16:50 3334

原创 设计模式十:用一个组织架构的例子说清楚组合模式

文章目录一、定义二、实现三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设计模式八:《用一个银行存取款的例子说清楚模板方法模式》设计模式九:《研究Java集合类的It

2021-05-04 10:55:02 305

原创 设计模式九:研究Java集合类的Iterator迭代器理解迭代器模式

文章目录一、背景二、Java集合常用类2.1、Iterator迭代器的实现原理2.2、Iterator迭代器的实际使用三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》设

2021-04-29 11:51:11 199

原创 “做对的事情”才是智慧

书名:卓有成效的管理者主题:我们所重视的只是“效率”:所谓效率,可以说是“把事情做对”(to do things right)的能力,而不是“做对的事情”(to get the right things done)的能力。【感悟】1、“把事情做对”(to do things right)只是聪明罢了,“做对的事情”(to get the right things done)才是智慧。2、卓有成效的管理者要确保自己在做对的事情,同时也要确保团队在做对的事情。3、管理者更需要侧重于做事前的思考与分析:

2021-04-27 12:33:24 188

原创 Kettle连接mysql8数据库报错的解决方法

一、错误问题在使用kettle建立与myslq8连接时会报以下错误:org.pentaho.di.core.exception.KettleDatabaseException: Error occurre...二、解决方法下载驱动将文件mysql-connector-java-8.0.17.jar放到kettle安装文件中的lib下面重启Spoon,进行连接测试,连接成功...

2021-04-24 14:57:48 864

原创 设计模式八:用一个银行存取款的例子说清楚模板方法模式

文章目录一、定义二、实例三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》设计模式七:《用一个USB转换器的例子说清楚适配器模式》一、定义模板方法模式是一种比较好理解的设计模式,其核心思想就是由超类(一般为抽象类)定义一个

2021-04-22 11:49:32 869 1

原创 设计模式七:用一个USB转换器的例子说清楚适配器模式

文章目录一、 背景二、 USB适配器三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》设计模式六:《用一个遥控开关的例子说清楚命令模式》一、 背景适配器模式是一个比较好理解的设计模式:其核心思想就是创建一个适配器对象(考虑到JAVA没有多重继承的特性,我们这里只介绍对象适配

2021-04-16 13:08:29 356

原创 C#使用FileSystemWatcher引发多次Changed事件的问题与解决技巧

一、背景我们可以使用FileSystemWatcher监控文件系统,在特定的文件被创建、修改或删除时引发事件。程序如下:sing System;using System.IO;using System.Linq;using System.Windows.Forms;using System.Collections;namespace MyNamespace{ class MyClassCS { public Form1() {

2021-04-13 16:27:59 3185 1

原创 设计模式六:用一个遥控开关的例子说清楚命令模式

文章目录一、背景二、场景模拟三、用命令模式设计一个遥控开关四、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》设计模式五:《用不同的实现方式创建单例模式》一、背景对于设计模式的理解,最关键的是要确定运用的场景,比如今天我们要学习的命令模式 ,需要把特命令包裹在对象中,并将其做特有的封装并传给请求者,实现命令请求者与命令实

2021-04-08 11:46:13 286

原创 设计模式二补充:使用JDK内置API实现观察者模式

文章目录一、背景二、JDK API三、代码实战四、总结一、背景在《设计模式二:用一个股票买卖的例子说清楚观察者模式》这篇文章中,我们自行实现了观察者(投资者)与被观察者对象(股票);本文将利用JDK内置的API来实现观察者模式,加深对此设计模式的理解。二、JDK API通过继承java.util.Observable类就可以实现被观察者对象;通过实现java.util.Observer接口就可以实现观察者对象。* @author Chris Warth * @see java

2021-04-05 11:49:33 293

原创 设计模式五:用不同的实现方式创建单例模式

文章目录一、背景二、单例模式的注意点2.1 急切式或饿汉式创建2.2 延迟式或懒汉式创建2.3、双重检查加锁三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》设计模式四:《用一个生产手机的简单例子说清楚工厂模式》一、背景单例模式保证在程序运行过程中一个类只有一个实例,并提供一个全局访问点。单例模式是相对简单的设计模式,但在实现单例模式时需要注意不少细节。二、单例模式的

2021-04-01 14:58:34 196

原创 设计模式四:用一个生产手机的简单例子说清楚工厂模式

文章目录一、前言二、工厂模式三、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》设计模式三:《用一个苏式面条的实例说清楚装饰者模式》一、前言在前面三篇文章中,我们接触到的策略模式、观察者模式、装饰者模式主要解决的是封装变化、类之间的解耦、增强扩展性等这一类问题。本章我们将学习一种新的设计模式:工厂模式。二、工厂模式从字面上看,称之为工厂,是要创建产品的,也即工厂模式是一种创建型模式。我们先举一个简单的例子:定

2021-03-31 13:36:03 548

原创 设计模式三:用一个苏式面条的实例说清楚装饰者模式

文章目录一、前言二、苏式面条三、装饰者模式四、总结设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》设计模式二:《用一个股票买卖的例子说清楚观察者模式》一、前言我们回顾一下策略模式与观察者模式:策略模式:把变化的东西独立出来,形成算法族,通过实现接口形成算法的封装与使用。观察者模式:将紧密结合的对象进行解耦,形成目标对象与观察者对象,当目标对象的状态发生变化时,观察者对象都会收到通知。本篇文章在继续用此方式探索装饰者模式的使用场景。二、苏式面条苏式面条好吃,关键就

2021-03-24 14:22:08 268

原创 设计模式二:用一个股票买卖的例子说清楚观察者模式

文章目录一、前言二、观察者模式三、实际案例设计模式一:《用一个营销策略的实例说清楚策略模式的应用场景》一、前言在上篇文章中,我们用一个实例及其代码,演示了策略模式的应用场景;本篇文章在继续用此方式探索观察者模式的使用场景。二、观察者模式观察者模式实际上表述得是两种对象的依赖关系:一种对象称之为目标对象(一般为一个),另一种对象称之为观察者对象(可以是一个也可以是多个),当目标对象的状态发生变化,则观察者对象都会收到通知。三、实际案例以下将举一个股票买卖的例子,来说明清楚观察者模

2021-03-22 16:30:04 817

原创 用一个营销策略的实例说清楚策略模式的应用场景

文章目录一、背景二、策略模式2.1 未用设计模式2.2 采用设计模式三、总结一、背景作为一个开发人员,需要掌握面向对象开发各种基础知识,同时也需要了解各种设计原则与设计模式;熟练掌握设计模式,可以让我们开发出复用高,扩展性强、易于维护的系统。掌握设计模式的理论知识不难,难就难在怎么在实际项目中具体应用,或者说哪个应用场景适合应用哪个设计模式。本文将通过一个实际的营销策略实际来说明策略模式的具体适用场景二、策略模式策略模式(Strategy Pattern)是一种比较简单的设计模式,其核心思

2021-03-19 15:52:59 471

原创 Vue实战篇二十二:生成二维码

系列文章目录Vue基础篇一:编写第一个Vue程序Vue基础篇二:Vue组件的核心概念Vue基础篇三:Vue的计算属性与侦听器Vue基础篇四:Vue的生命周期(秒杀案例实战)Vue基础篇五:Vue的指令Vue基础篇六:Vue使用JSX进行动态渲染Vue提高篇一:使用Vuex进行状态管理Vue提高篇二:使用vue-router实现静态路由Vue提高篇三:使用vue-router实现动态路由Vue提高篇四:使用Element UI组件库Vue提高篇五:使用Jest进行单元测试Vue提高篇六

2021-03-15 11:50:11 803

微信小程序使用的md5.js

微信小程序使用的md5.js,用于加解密 /* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message * Digest Algorithm, as defined in RFC 1321. * Version 1.1 Copyright (C) Paul Johnston 1999 - 2002. * Code also contributed by Greg Holt * See http://pajhome.org.uk/site/legal.html for details. */

2020-07-29

maven .xmind

maven架构思维导图,分为maven项目目录结构,常用构件命令,生命周期,仓库,POM常见元素,依赖范围等,可供下载学习分析使用

2020-03-19

Web Developer.png

web开发思维导图图片,分为三个部分:基本,前端开发,后端开发。

2019-08-19

web developer.xmind

Web Developer 思维导图,分三个维度:基本技能;前端开发;后端开发

2019-08-19

.net cf 3.5安装包

wince .net compact framework 3.5安装包

2015-12-26

某公司OA系统源码,不错的学习工具

不错的公司OA源代码,ms visual studio 2003开发环境

2009-10-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除