
设计模式
文章平均质量分 92
正经黑天鹅
这个作者很懒,什么都没留下…
展开
-
设计模式 - 装饰者模式
先不讲设计模式,先讲一个生活中的例子。山东煎饼(或者肉夹馍)相信大家都吃过,可以自己选择需要的食材,比如,可以加一串里脊,或者培根,多加个蛋,到最后,老板会根据你选择的不同食材给你算价格。其实我们可以拆分开,一个基本面饼+鸡蛋+生菜+里脊+豆奶,这就是一层一层嵌套起来,最后只要输出最终价格。这就是装饰者模式,装饰者模式本质是一种组合的思想(不同于继承的思想),多组合少继承,一层一层添加,共存的意思。装饰者模式:动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。Componen原创 2020-06-29 23:46:03 · 213 阅读 · 0 评论 -
设计模式 - 策略模式
看这个名字就知道对策略的分析的一种模式。什么是策略,从家里去上学可以选择走路、自行车、汽车、地铁,具体今天怎么去,就是策略的选择。 策略模式用于哪些场景呢?策略是将具体的算法分装成一个类,各个算法之间的使用相互并不影响,也有利于扩展,适用于算法经常在变动的,更换,替代的一类需求中。 下面用从家到学校的出行选择为例子: 首先分析下,从家到学校的出行方式有哪几种算法:走路自行车:...原创 2020-04-06 23:04:39 · 142 阅读 · 0 评论 -
设计模式 - 单例模式
单利设计模式在Java中主要用到的是懒汉模式和饿汉模式。顾名思义,懒汉模式就是说你不使用,它就永远不生成实例;饿汉模式就是,肚子饿了,自己就会找东西,在你没调用之前就已经生成对象,等着被调用。饿汉模式public class Singleton{ private static Singleton instance = new Singleton(); pri...原创 2018-05-17 20:57:33 · 121 阅读 · 0 评论 -
设计模式 - 代理模式
今天看了下几篇文章,终于把代理模式讲清楚了。 Java的代理模式用于解决如下的几个问题:隔离作用:使用方只需要关注业务功能,其他的不需要关注,这就需要隐藏相关的内容,隔离原来的委托对象。增加功能:还可以通过给代理类增加额外的功能来扩展委托类的功能。 举个例子:传统观念中,学生只需要学习,不用关心日常生活琐事(当然这是不对的)。早上起来,你只要到学校开始早读、上课就行了,至...原创 2018-08-20 15:46:17 · 270 阅读 · 1 评论 -
设计模式 - 工厂模式
一、面向对象的设计原则:1、单一原则: 高内聚,低耦合。简单的说就是一个类尽可能只做一件事。dao.class就只是数据库的操作;controller就只是对restfull的请求的接收;math.class只做数学上的计算处理。专注于单一的功能。2、开闭原则: 对扩展开放,对修改关闭。即在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。3、里氏替换原则: 尽可能...原创 2019-06-09 00:01:56 · 134 阅读 · 0 评论