1.首先定义接口,所有的策略都是基于一套标准,这样策略(类)才有可替换性。声明一个计算策略接口 2.接着两个接口实现类。复习golang语言实现接口是非侵入式设计。 3.声明一个策略类。复习golang中规定首字母大写是public,小写是private。如果A,B改为小写a,b,在客户端调用时会报 ...
分类:
编程语言 时间:
2019-07-02 19:26:54
阅读次数:
119
You have defined query method in the repository but you don‘t have any query lookup strategy defined. The infrastructure apparently does not support query methods!
分类:
其他好文 时间:
2019-06-29 23:44:29
阅读次数:
125
pod控制器 二、ReplicaSet控制器 三、Deployment控制器 Replicas(副本数量): Selector(选择器): Pod Template(Pod模板): strategy(更新策略): revisionHistoryLimit(历史版本记录): rollbackTo: p ...
分类:
其他好文 时间:
2019-06-29 10:36:18
阅读次数:
113
一、总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模 ...
分类:
其他好文 时间:
2019-06-27 14:59:29
阅读次数:
135
这是一个在书上看到的例子,在这里简单记录一下。 1.需求 一个销售书籍的系统,实现:每种书的折扣不一样,教材类的8折,小说类7折,生活类5折,其他的没有折扣。 2.容易想到的解决方法 通常我们会写一个方法计算每种书的价格,代码如下: 3.使用策略模式实现 简单理解: 策略模式就是就是为了解决上面这种 ...
分类:
其他好文 时间:
2019-06-25 16:47:36
阅读次数:
99
策略模式指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。 策略模式定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。 将不变的部分和变化的部分隔开是每个设计模式的主题。策略模式的目的就是将算法的实现和算法的使用分离开来。 策略模式包含三个角色: Context:环境类 Str ...
分类:
其他好文 时间:
2019-06-23 20:52:14
阅读次数:
105
通过if-else 来实现拦截器的封装 首先,说一下上面拦截器封装的逻辑,当状态码为1000的时候,请求数据成功,当状态码为435001, 435011, 436050的时候,退出登录。其他状态码的时候,返回错误信息。 在最开始封装拦截器的时候,使用了大量的if-else的。在可读性上是不太 友好的 ...
分类:
其他好文 时间:
2019-06-22 19:50:50
阅读次数:
100
策略模式(Strategy) 定义:将定义的一组算法封装起来,使其相互之间可以替换。封装的算法具有一定的独立性,不会随客户端的变化而变化 废话不多说,先来个例子 上面的例子,一定会有人这么写的,你要说没有我也没办法(~ ̄▽ ̄)~,这样写首先不利于维护,其实也不好方便扩展 改进一下: 上面的例子就可以 ...
分类:
Web程序 时间:
2019-06-20 12:32:37
阅读次数:
125
1.设计模式 1.1单例模式 口诀:三私一公 实现: 1.2工厂模式: 特点:传递不同的参数获取不同的对象 1.3策略模式: 特点:传递不同的参数调用不同的策略(方法) 2.魔术方法: 2.1__tostring()、__invoke() __tostring():将对象当成字符串使用的时候自动调用 ...
分类:
Web程序 时间:
2019-06-19 00:38:14
阅读次数:
173
第一次好好的看设计模式,可能有不对的地方,大佬们可以下面指出,感谢! 分割线 场景:商城打折活动,但是我不确定是打几折,因为换季可能打折力度不一样,8折,9折,满300减50等等等等,这时候我们去计算用户的实际消费数额,这个时候可以用上策略模式;把计算这个过程策略化。 首先是父类,这是个抽象算法,我 ...
分类:
编程语言 时间:
2019-06-18 19:57:41
阅读次数:
117