自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

guanghuotainkong的博客

<img src="https://img-blog.csdnimg.cn/201909251626232.png" alt="配置启动器">

  • 博客(102)
  • 收藏
  • 关注

原创 男人和女人--访问者模式

访问者模式(Visitor)结构图"在这里,Element就是我们的'人'类,而ConcreteElementA和ConcreteElementB就是'男人'和'女人',Visitor就是我们写的'状态'类,具体的ConcreteVisitor就是那些'成功''失败''恋爱'等状态。至于ObjectStructure就是'对象结构'类了。"哦,怪不得这幅类图我感觉和刚才写的代码类图几乎可以完全对应。"本来我是想直接来谈访问者模式的,但是为什么我突然会愿意和你聊男人和女人的对比呢?

2024-04-11 05:50:26 713

原创 其实你不懂老板的心--解释器模式

"解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题[DP]。比如,我们常常会在字符串中搜索匹配的字符或判断一个字符串是否符合我们规定的格式,此时一般会用什么技术?"是不是正则表达式?

2024-04-11 05:50:05 975

原创 项目多也别傻做--享元模式

"如果有100家企业来找你做网站,你难道去申请100个空间,用100个数据库,然后用类似的代码复制100遍,去实现吗?"啊,那如果有Bug或是新的需求改动,维护量就太可怕了。"对的,也就是说,如果要做三个产品展示,三个博客的网站,就需要六个网站类的实例,而其实它们本质上都是一样的代码,如果网站增多,实例也就随着增多,这对服务器的资源浪费得很严重。你说有什么办法解决这个问题?"我不知道,我想过大家的网站共用一套代码,但毕竟是不同的网站,数据都不相同的。"我就希望你说出共享代码这句话,为什么不可以呢?

2024-04-11 05:49:47 701

原创 世界需要和平--中介者模式

"我相信如果所有的国际安全问题都上升到安理会来解决,世界将不再有战争,世界将会永远和平。让世界充满爱,世界呼唤和平。

2024-04-11 05:49:25 1035

原创 加薪非要老总批?--责任链模式

"我和刚进来的几个同事比较,我觉得我做得很好。公司每每分配的任务,我基本都可以快速完成。有一次,一段程序需要增加一个分支条件,我立刻想到利用反射、工厂等设计模式来处理,经理对我的设计很满意。" 我要求转正加薪。

2024-04-07 17:58:50 670

原创 烤羊肉串引来的思考--命令模式

烧烤摊旁边等着拿肉串的人七嘴八舌地叫开了。场面有些混乱,由于人实在太多,烤羊肉串的老板已经分不清谁是谁,造成分发错误,收钱错误,烤肉质量不过关等。外面打游击烤羊肉串和这种开门店做烤肉,哪个更赚钱?这很难讲,毕竟各有各的好,在外面打游击,好处是不用租房,不用上税,最多就是交点'保护费',但下雨天不行、大白天不行、太晚也不行,一般都是傍晚做几个钟头,顾客也不固定,像刚才那个,由于人多造成混乱,于是就放跑了我们这两条大鱼,其实他的生意是不稳定的。大白天,城管没下班呢,怎能容忍他如此安逸。

2024-04-07 17:58:26 1604

原创 手机软件何时统一--桥接模式

DP]。"是呀,我这样的继承结构,如果不断地增加新品牌或新功能,类会越来越多的。"在面向对象设计中,我们还有一个很重要的设计原则,那就是合成/聚合复用原则。即优先使用对象合成/聚合,而不是类继承[DP]。

2024-04-07 17:57:45 955

原创 有些类也需计划生育--单例模式

于是只要你将'工具箱'类的构造方法写成是private的,那么外部程序就不能用new来实例化它了。"哈,私有的方法外界不能访问,这是对的,但是这样一来,这个类如何能有实例呢?"哈,我们的目的是什么?"让这个类只能实例化一次。没有new,我现在连一次也不能实例化了。"错,只能说,对于外部代码,不能用new来实例化它,但是我们完全可以再写一个public方法,叫作getInstance(),这个方法的目的就是返回一个类实例,而此方法中,去做是否有实例化的判断。

2024-04-07 17:57:15 1084

原创 想走?可以!先买票--迭代器模式

售票员检查谁没有买票,把车厢里的人都遍历一遍。

2024-04-07 06:07:31 839

原创 分公司=-部门--组合模式

人力资源部和财务部这些。

2024-04-07 05:51:52 1229

原创 如果再回到从前--备忘录模式

"很多时候我们做了件事后,却又后悔。这就是人类内心软弱的一面。时间不能倒流,不管怎么样人生是无法回到从前的,但是软件就不一样了。还记得玩一些单机的PC游戏的时候吗,通常我都是在打大Boss之前,先保存一个进度,然后如果通关失败了,我可以再返回刚才那个进度来恢复原来的状态,从头来过。从这点上说,我们比姚明强。"哈,这其中的原理是不是就是把当前的游戏状态的各种参数存储,以便恢复时读取呢?"是的,通常这种保存都是存在磁盘上了,以便日后读取。

2024-04-07 05:30:57 1153

原创 在NBA我需要翻译--适配器模式

"你说姚明去了几年,英语练出来了哦,我看教练在那里布置战术,他旁边也没有翻译的,不住点头,瞧样子听懂没什么问题了。"要知道,最开始,有记者问姚明说:'在CBA和NBA最大的区别是什么?',姚明的答案是'在NBA我需要翻译,而在CBA我不需要。'经过几年的锤炼,他的确是在NBA中成长了。不但球技大涨,英语也学得非常棒,用英文答记者问一点问题都没有。不得不佩服呀。"钞票也大大地增加了,他可是中国最富有的体育明星。大鸟呀,你比他还大几岁吧,混得不行呀。"哪能和他比,两米二七的身高,你给我长一个试试。

2024-04-07 05:15:23 843

原创 无尽加班何时休--状态模式

"说白了,这样做的目的就是为了。

2024-04-07 05:15:03 878

原创 能不能换DB吗?--抽象工厂模式

抽象工厂模式(Abstract Factory)结构图。

2024-04-07 00:31:32 741

原创 老板回来,我不知道--观察者模式

观察者模式(Observer)结构图。

2024-04-06 00:27:00 848

原创 好菜每回味道不同--建造者模式

"来来来,我们来试着把建造者模式的基本代码推演一下,以便有一个更宏观的认识。

2024-04-05 11:55:23 1044

原创 牛市股票还会亏钱?--外观模式

炒股,碰到熊市,亏得一塌糊涂。 "我们公司的人现在都在炒股票,其实大部分人都不太懂,就是因为现在股市行情很火,于是都在跟风呢!" 刚入市的人,什么都不懂,看好一只快涨跌的股票,买进去,第二天马上就跌了。"有一个好像还可以,赚了不少钱,具体不太清楚,但另外几个人都是刚入市的,什么都不懂,特别是一个叫顾韵梅的同事,她说得蛮搞笑的,'今天看好了一只快涨停的股票,买进去,第二天马上就跌了。明天再去换另一只好的股票,几天都不涨,等一卖出,马上就涨停。'于是乎,在大好的牛市行情里,连连亏损,

2024-04-05 11:54:20 617

原创 无熟人难办事?--迪米特法则

第一天上班,电脑安装工作但是安装的同事小张刚巧有事要忙,主管有事也出去了,没有人搭理。小张快下班的时候才回来,开始帮我装系统,加域,设置密码等。

2024-04-04 00:50:48 322

原创 考题抄错会做也白搭--模版方法模式

模板方法模式(TemplateMethod)结构图AbstractClass是抽象类,其实也就是一个抽象模板,定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。顶级逻辑也有可能调用一些具体方法。ConcreteClass,实现父类所定义的一个或多个抽象方法。

2024-04-04 00:40:24 593

原创 简历复印--原型模式

简历的打印。"对编程来说,简单的复制粘贴极有可能造成重复代码的灾难。我所说的意思你根本还没听懂。那就以刚才的例子,我出个需求你写写看,要求有一个简历类,必须要有姓名,可以设置性别和年龄,可以设置工作经历。最终我需要写三份简历。

2024-04-04 00:07:29 1145

原创 为别人做嫁衣--代理模式

一个代送花的故事,买花人为送花人做了嫁衣,送花人和MM成为眷属。

2024-04-04 00:00:00 880

原创 工厂制造细节无需知--工厂方法模式

DP]工厂方法模式(Factory Method)结构图。

2024-04-04 00:00:00 1241

原创 穿什么有这么重要?--装饰模式

"我觉得装饰模式是为已有功能动态地添加更多功能的一种方式。但到底什么时候用它呢?"答得很好,问的问题更加好。你起初的设计中,当系统需要新功能的时候,是向旧的类中添加新的代码。这些新加的代码通常装饰了原有类的核心职责或主要行为,比如用西装或嘻哈服来装饰小菜,但这种做法的问题在于,它们在主类中加入了新的字段,新的方法和新的逻辑,从而增加了主类的复杂度,就像你起初的那个'人'类,而这些新加入的东西仅仅是为了满足一些只在某种特定情况下才会执行的特殊行为的需要。而。

2024-04-02 22:50:43 1018

原创 依赖倒转原则

MM电脑坏了,需要修电脑,是因为每次打开QQ,一玩游戏,机器就死了。出来蓝底白字的一堆莫名奇妙的英文。蓝屏死机了,估计内存有问题。

2024-04-01 23:49:47 843

原创 开放-封闭原则

只顾着考验,没有准备找工作,结果考研没有考上,工作还没有着落。比如:一国两制的思想,原因在于中国大陆的社会主义制度不能修改,这一点毋庸置疑,而中国香港澳门长期在资本制度下管理和发展,所以回归时强行修改中国香港和澳门的制度也不合理,所以一国两制制度最合理。

2024-04-01 21:22:22 316

原创 单一职责原则

"你仔细想想看,方块的可移动的游戏区域,可以设计为一个二维整型数组用来表示坐标,宽10,高20,比如'int[,] arraySquare=new int[10,20];',那么整个方块的移动其实就是数组的下标变化,比如原方块在arraySquare [7,2]上,则下移时变成arraySquare [7,3],如果下移同时还按了左键,则是arraySquare [6,3]。"的确是这样,界面的变化是和游戏本身没有关系的,界面是容易变化的,而游戏逻辑是不太容易变化的,将它们分离开有利于界面的改动。

2024-04-01 21:05:47 819

原创 商场促销--策略模式

面对同样的需求,然是改动越小越好。""你的意思是说,还有更好的办法?简单工厂模式虽然也能解决这个问题,但这个模式只是解决对象的创建问题,而且由于工厂本身包括所有的收费方式,商场是可能经常性地更改打折额度和返利额度,每次维护或扩展收费方式都要改动这个工厂,以致代码需重新编译部署,这真的是很糟糕的处理方式,所以用它不是最好的办法。加一个积分算法,构造方法有两个参数:条件和返点,让它继承CashSuper,再到现金工厂,哦,不对,是收费对象生成工厂里增加满100积分10点的分支条件,再到界面稍加改动,就行了。

2024-04-01 00:29:48 944

原创 简单工厂模式

火药、指南针、造纸术都是从悟道有,从未知到发现的伟大发明,而活字印刷仅仅从刻版印刷到活字印刷仅仅是刻板印刷到活字印刷的一次技术的进步。让业务逻辑与界面逻辑分开,让它们之间的耦合度降低。只有分离开,才可以达到容易维护或者扩展。复制不是复制粘贴,代码中不应该有很多复制的代码,维护性很差,尽可能地去避免重复。让你加一个功能,不能影响原有的运行良好的功能产生了变化。来自于《大话设计模式》【Java溢彩加强版】作者:程杰。代码就应该易维护,灵活性,易扩展,复用。上面的代码有很多不足需要改进。

2024-03-31 05:21:44 506

原创 35岁程序员的经历和看法

35岁程序员的人生感悟:岁月见证的成长与转变在程序员的世界里,35岁往往被视为一个重要的节点。对于许多人来说,这个年纪意味着成熟、稳定和经验的积累。作为一名35岁的程序员,我想分享一下自己的经历和看法。回顾自己的职业生涯,我经历了从新手到专家的蜕变。刚开始接触编程时,我对这个领域充满了好奇和热情。我花费大量时间学习各种编程语言和技术,通过编写代码来实践和巩固所学知识。在这个过程中,我遇到了许多困难和挑战,但正是这些经历让我不断成长和进步。随着时间的推移,我逐渐掌握了各种编程技巧和方法,开始参与更复杂的

2024-03-28 01:30:35 132

原创 文件服务的思考

文件服务的思考

2022-12-23 23:54:41 1365 1

原创 找出数组中出现次数最多的数

数组中最多的数和次数

2022-09-26 20:27:54 1224

原创 五款免费pdf转换成word转换器软件下载

http://www.wordlm.com/html/1711.html

2022-04-21 15:23:37 1231

原创 GunsLearning 登录不上,请求token为空,请携带token访问本接口

我前后端都启动了

2022-04-21 15:21:50 509

原创 50本财富书籍进行收藏

第1章 《美满富足的人生》——詹姆斯·艾伦/1财富智慧:有学科知识及理智的思维能力并树立为他人服务的高尚目标,是获取成功富足人生的基础。第2章 《财源滚滚》——罗伯特·艾伦/7财富智慧:为别人工作而获得的安全感是虚幻的、不真实的——除非人家许诺分给你一部分利润……一旦进行了明智的投资,作为投资者的你便可获得滚滚财源。第3章 《自成百万富翁》——大卫·巴赫/14财富智慧:要使自己更容易或更铁定地富裕起来,任何办法都不如这个办法有效:习惯性地先将一定款项扣除下来,先付给自己。

2022-01-10 00:22:48 514

原创 用Optional取代null思考

public static String getCarInsuranceName(Person person) {// return person.getCar().getInsurance().getName(); //null-安全的第一种尝试:深层质疑 if (person != null) { Car car = person.getCar(); if (car != null) { ...

2021-07-07 18:00:57 197

原创 POI导出图片和excel多个sheet页导出

package com.xquant.xasset.indexapi.business.utils;import org.apache.commons.io.FileUtils;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFDataFormat;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import .

2021-07-06 15:48:44 368

原创 stream has already been operated upon or closed

迭代器类似,流只能遍历一次package chap04;import java.util.Arrays;import java.util.List;import java.util.stream.Stream;/** * @Author lhx * @Date 2021/5/27 22:42 * @Version 1.0 */public class StreamVsCollection { public static void main(String[] args).

2021-05-27 22:49:53 196

原创 VBA获取和解析json,把数据存入excel ,并且存入数据库

‘(1)把json数据放到excel中Sub GetJSONDemo() 'url = "http://191.168.0.158:9092/api/index/quotaIntfs/getQuotaIntfGorupTreeWithDetailTable?pageNum=1&pageSize=10&pageSizes=10&pageSizes=20&pageSizes=50&pageSizes=100&t=1619769732746"...

2021-05-11 17:02:59 2926

原创 Oracle客户端完整版下载地址

找这个地址,花了我两个小时,真浪费时间https://www.oracle.com/cn/database/technologies/microsoft-windows.html

2021-05-07 22:31:29 3736 2

原创 Navicat Premium 15 可以直接导出insert和update语句

导出sql脚本,浪费了我好长时间,没想到那么简单!!!

2021-04-29 00:55:14 4929

空空如也

空空如也

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

TA关注的人

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