🔔🔔🔔好消息!好消息!🔔🔔🔔 有需要的朋友👉:联系凯哥 好消息!好消息! 微信号 kaigejava2022 想要写出跟知名开源库一样的代码,首先你需要知道这些 在工作初期,我们可能会有这样的感觉,自己的代码接口设计混乱、代码耦合较为严重、一个类的代码过多等,当自己回过头再看这些代码时可能都会感慨怎么写成那样。再看那些知名的开源库,他们大多有着整齐的代码、清晰简单的接口、职责单一的类,这个时候我们通常会捶胸顿足而感叹:什么时候老夫能写出这样的代码!其实在做开发这些年中,我渐渐的感觉到,其实国内一些初、中级工程师写的东西不规范或者说不够清晰的原因是缺乏一些指 凯哥Java 设计模式 2020-10-10 7039已阅读 0 设计模式之状态模式总结篇 状态模式总结篇状态模式总结篇,我们将从以下几个方面对状态模式进行总结。状态模式出现的意图是什么?通过对象内部状态发生改变进而来改变对象的行为,对象看起来好像是被修改了一样。如,没有糖果的时候(是一个状态),糖果机就不能运行了,有糖果之后(另一个状态),投币就可以出糖果了。本文出处凯哥Java(kaigejava)讲《23种设计模》系列教程种的《状态模式总结篇》凯哥公众号:凯哥Java凯哥个人博客: 凯哥Java 设计模式 2019-09-17 6650已阅读 0 状态模式引导篇及原理 状态模式引导篇及原理讲解状态模式原理之前,我们先来模拟一个项目,然后对项目进行需求升级,发现之前设计不符合新需求了,从而来引导出状态模式原理。模拟项目:一个糖果机(或者售票机)。智能糖果机,使用Java软件来控制糖果机.本文出处凯哥Java(kaigejava)讲《23种设计模》系列教程种的《状态模式引导篇及原理》需求分析:我们来简化糖果机出糖果的过程:开机-->待机状态-->投入硬币 凯哥Java 设计模式 2019-09-16 6673已阅读 0 组合模式就是几个模式组合一起吗?来看看组合模式原理 组合模式引导篇及组合模式原理在上一个《迭代器模式》中,我们讲到了阿里收购网易考拉后,店铺合并的问题使用到了迭代器模式。现在又有了新需求。我们先来看看新需求:先说明:组合模式并非是把之前学过的设计模式组合在一起的一种模式哈。别理解错了。来源:凯哥Java(kaigejava)在原有菜单的基础上,新增餐后甜点功能,如在中餐厅(DinerMenu)中添加餐后甜点。我们先来回顾下上一个模式下的类图,如下图 凯哥Java 设计模式 2019-09-09 6113已阅读 0 设计模式之迭代器模式 引导篇 迭代器模式-引导篇这两天,比较火的并购新闻就是,网易考拉被阿里以20亿美元收购。从此网易考拉不再姓“网”而姓“阿”了。并购后的网易考拉和阿里的电商系统进行对接。那么问题来了:在阿里有个早餐店的菜单(CakeHouseMenu)使用的事ArrayList来存放菜单的,考拉有个午餐店的菜单(DinerMenu)使用的是数组结构存放的。现在考拉和阿里合并了,两个点的菜单也要合并。我们先来看看第一版设计: 凯哥Java 设计模式 2019-09-07 6423已阅读 0 设计模式之模板模式总结篇 模板模式总结篇在上一篇《设计模式之模板模式引导篇》中,我们使用了泡咖啡和泡茶的日常小场景讲解了模板模式的原理。本篇,我们就结合这个小案例,来对模板模式进行总结。本文出自《凯哥学设计模式》系列教程,凯哥Java(kaigejava)出品。一:模板模式定义(或内容)在上一篇中,我们知道泡茶和泡咖啡都需要五个步骤。这五个步骤,其实就是算法骨架。在具体是泡咖啡还是泡茶,是加牛奶还是加柠檬的时候,把这两个具 凯哥Java 设计模式 2019-09-06 6499已阅读 0 设计模式之模板模式引导篇 在讲模板模式原理前,我们按照惯例,先来个生活中例子。茶馆需要开发一个自动的泡咖啡和泡茶的程序。来源:凯哥Java(kaigejava)我们先来看看泡咖啡和泡茶的步骤:我们根据上图写代码实现:泡咖啡类,如下图:泡茶类如下图:测试类:运行结果:很简单。也很容易写出来。写出来很清楚。从上图中,可以发现,两个流程几乎是一样的套路(步骤)。其中,不变的部分:水烧开、倒入杯子、送给客人。这三步是不变的。变化的 凯哥Java 设计模式 2019-09-05 6432已阅读 0 设计模式之外观模式-总结 设计模式之外观模式-总结在上一篇中,我们模拟家庭影院项目实现了外观模式讲解。本篇我们对外观模式进行总结。来源:凯哥Java(kaigejava).本文由凯哥《23设计模》系列中的一篇。凯哥突然感觉,使用家庭影院这个例子不恰当。换个通俗易懂的。去银行存取钱。这个案例大家都遇到过吧。我们去银行后,每个窗口都有个漂亮的小姐姐为各位服务。在我们存取钱的过程中,只需要和窗口小姐姐沟通就可以了。我们把身份证给 凯哥Java 设计模式 2019-09-04 6483已阅读 0 设计模式之外观模式-引导篇及原理 外观模式-引导篇及原理来看看司小司的新项目-家庭影院控制接口项目家庭影院设备:DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机等等。对于的类对象:DVDPlayer、Projector、Stereo、Popcorn、Screen、TheaterLightsetc...类图如下:来源:凯哥Java(kaigejava)我们知道,这些设备需要遥控器,同时这些设备都对外提供了接口。如果一个设备一个遥 凯哥Java 设计模式 2019-09-03 6368已阅读 0 设计模式之命令模式-引导篇及原理 设计模式之命令模式-引导篇及原理引导司小司又接到了新项目:家电自动化遥控器API项目。项目背景:随着物联网的流行以及智能化家具普及。一个遥控器可以管控家里所有设备(家电等)也很正常了。如上图:假设空心的是关,实心的是开。需求:1:给出各个家电(电灯、电视、音响等)的API,需要在这个遥控器接口中,对接这些API来实现对不同家电的控制。2:要求自动化遥控器要扩展性好、维护性好。第一版设计:面向对象的 凯哥Java 设计模式 2019-09-02 6307已阅读 0