设计模式实战-策略模式(Strategy Pattern)
0.0 相关源码链接
https://github.com/Wasabi1234/design-patterns
1 定义
也叫做政策模式(Policy Pattern)
- 维基百科
对象有某个行为,但是在不同的场景中,该行为有不同的实现算法.
比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法.
- 定义
Define a family of algorithms,encapsulate each one,and make them interchangeable.
定义一组算法,将每个算法都封装起来,并且使它们之间可以互换.
在运行时
(非编译时)改变软件的算法行为
- 主要思想
定义一个通用的问题,使用不同的算法来实现,然后将这些算法都封装在一个统一接口的背后.
策略模式使用的就是面向对象的继承和多态机制
策略模式
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux系统分别调用不同邮件服务器465端口发送短信
环境:centos7.2 python2.7.6 简介:通过编写的Python 脚本实现调用不同的邮件服务器465 端口发送短信。共四个。 脚本内容如下,具体内容不做介绍,主要是讲解如何通过该脚本实现上述需求。 #!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText from email.utils import formataddr print("邮件发送测试默认使用的是465端口,邮件主机是使用的smtp.163.com") my_sender = raw_input("邮件账户:") my_pass = raw_input("邮件密码:") my_user = raw_input("收件人:") def mail(): ret=True try: msg=MIMEText('填写邮件内容','plain','utf-8') msg['From']=formataddr(["我是发件人",my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮...
- 下一篇
JAVA ssm b2b2c多用户商城系统源码-hystrix工作原理
Hystrix是Netflix开源的一个限流熔断的项目、主要有以下功能:隔离(线程池隔离和信号量隔离):限制调用分布式服务的资源使用,某一个调用的服务出现问题不会影响其他服务调用。优雅的降级机制:超时降级、资源不足时(线程或信号量)降级,降级后可以配合降级接口返回托底数据。融断:当失败率达到阀值自动触发降级(如因网络故障/超时造成的失败率高),熔断器触发的快速失败会进行快速恢复。缓存:提供了请求缓存、请求合并实现。支持实时监控、报警、控制(修改配置)下面是他的工作流程:Hystrix主要有4种调用方式: toObservable() 方法 :未做订阅,只是返回一个Observable 。observe() 方法 :调用 #toObservable() 方法,并向 Observable 注册 rx.subjects.ReplaySubject 发起订阅。queue() 方法 :调用 #toObservable() 方法的基础上,调用:Observable#toBlocking() 和 BlockingObservable#toFuture() 返回 Future 对象execute() ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,CentOS7官方镜像安装Oracle11G
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启