当前位置: 首页 > news >正文

钓鱼网站制作的报告wordpress主题软件

钓鱼网站制作的报告,wordpress主题软件,建立什么网站,安徽省做网站目录 一、背景介绍二、思路方案三、过程1.策略模式简介2.策略模式的类图3.策略模式代码4.策略模式还可以优化的地方5.策略模式的例子改造(配置文件反射) 四、总结五、升华 一、背景介绍 最近在做产品的过程中#xff0c;对于主题讨论回复内容#xff0c;按照追评次数排… 目录 一、背景介绍二、思路方案三、过程1.策略模式简介2.策略模式的类图3.策略模式代码4.策略模式还可以优化的地方5.策略模式的例子改造(配置文件反射) 四、总结五、升华 一、背景介绍 最近在做产品的过程中对于主题讨论回复内容按照追评次数排序、点赞排序、时间排序等内容做了深入研究通过策略模式可以很好的进行优化。 二、思路方案 1.策略模式简介2.策略模式的类图3.策略模式代码4.策略模式还可以优化的地方5.策略模式的例子改造 三、过程 1.策略模式简介 策略模式它定义了算法家族分别封装起来让它们之间可以互相替换此模式让算法的变化不会影响到使用算法的客户。 2.策略模式的类图 3.策略模式代码 package mark.strategy;/*** 功能描述** Authormakang* Date: 2021/5/29 14:44*/ public abstract class Strategy {public abstract void Algorithmlnterface(); } package mark.strategy;/*** 功能描述** Authormakang* Date: 2021/5/29 14:46*/ public class ConcreteStrategyA extends Strategy{Overridepublic void Algorithmlnterface() {System.out.println(算法A的具体实现);} } package mark.strategy;/*** 功能描述** Authormakang* Date: 2021/5/29 14:47*/ public class ConcreteStrategyB extends Strategy{Overridepublic void Algorithmlnterface() {System.out.println(算法B的具体实现);} } package mark.strategy;/*** 功能描述** Authormakang* Date: 2021/5/29 14:47*/ public class ConcreteStrategyC extends Strategy{Overridepublic void Algorithmlnterface() {System.out.println(算法C的具体实现);} } package mark.strategy;/*** 功能描述** Authormakang* Date: 2021/5/29 14:45*/ public class Context {private Strategy strategy;Context(Strategy strategy){this.strategy strategy;}public void ContextInterafce(){strategy.Algorithmlnterface();} } package mark.strategy;/*** 功能描述** Authormakang* Date: 2021/5/29 14:48*/ public class Client {public static void main(String[] args) {Context context;context new Context(new ConcreteStrategyA());context.ContextInterafce();context new Context(new ConcreteStrategyB());context.ContextInterafce();context new Context(new ConcreteStrategyC());context.ContextInterafce();} } 4.策略模式还可以优化的地方 策略模式后续进行策略的扩充需要修改客户端代码对于客户端而言未满足开闭原则。 5.策略模式的例子改造(配置文件反射) package mark.strategy.transform;/*** 功能描述** Authormakang* Date: 2021/5/29 14:44*/ public abstract class Strategy {public abstract void Algorithmlnterface(); } package mark.strategy.transform;/*** 功能描述** Authormakang* Date: 2021/5/29 14:46*/ public class ConcreteStrategyA extends Strategy {Overridepublic void Algorithmlnterface() {System.out.println(算法A的具体实现);} } package mark.strategy.transform;/*** 功能描述** Authormakang* Date: 2021/5/29 14:47*/ public class ConcreteStrategyB extends Strategy {Overridepublic void Algorithmlnterface() {System.out.println(算法B的具体实现);} } package mark.strategy.transform;/*** 功能描述** Authormakang* Date: 2021/5/29 14:47*/ public class ConcreteStrategyC extends Strategy {Overridepublic void Algorithmlnterface() {System.out.println(算法C的具体实现);} } package mark.strategy.transform;import java.util.HashMap; import java.util.Map;/*** 功能描述** Authormakang* Date: 2021/5/29 14:45*/ public class Context {//将这个数据放到配置文件中static MapString,String config new HashMap();static MapString,Strategy configBean new HashMap();static {config.put(strategyA,mark.strategy.transform.ConcreteStrategyA);config.put(strategyB,mark.strategy.transform.ConcreteStrategyB);config.put(strategyC,mark.strategy.transform.ConcreteStrategyC);//预加载提前做好的策略for (Map.EntryString,String entry:config.entrySet()) {Class strategyClass null;try {strategyClass Class.forName(entry.getValue());configBean.put(entry.getKey(),(Strategy)strategyClass.newInstance());} catch (Exception e) {throw new RuntimeException(e);}}}private Strategy strategy;Context(String type){try {if(configBean.containsKey(type)){this.strategy configBean.get(type);}else {Class strategyClass Class.forName(config.get(type));this.strategy (Strategy)strategyClass.newInstance();}} catch (Exception e) {throw new RuntimeException(e);}}public void ContextInterafce(){strategy.Algorithmlnterface();} } package mark.strategy.transform;/*** 功能描述** Authormakang* Date: 2021/5/29 14:48*/ public class Client {public static void main(String[] args) {Context context;//前端通过下拉框选择不同的类型下拉框中的值也是通过配置文件进行读取的context new Context(strategyA);context.ContextInterafce();context new Context(strategyB);context.ContextInterafce();context new Context(strategyC);context.ContextInterafce();} } 四、总结 1.通过知识的综合运用使得软件工程落地更加明确 2.何时使用策略单一入口单一出口的情况下内部需要根据不同条件进行不同策略执行的时候使用 3.对策略模式概念的深度理解算法家族Strategy父类、分别封装起来子类、让它们之间可以相互替换算法的变化多态、不会影响到使用算法的客户端客户端满足开闭原则但是不太彻底 五、升华 原则是用来严格遵守的变是永远不变的。
http://www.hkea.cn/news/14536227/

相关文章:

  • 湖北专业网站建设质量保障聊城网站托管
  • 西安网站开发公司电话linux系统运行wordpress
  • 做游戏动画外包网站网页设计与制作教程课后答案黑马程序员
  • 做网站傻瓜软件上海买二手房做哪个网站好
  • 天津网站建设哪家设计好linux网站备份
  • 网站开发框架 知乎中铁建设企业门户
  • 毕业设计代做网站都有哪些超市管理系统
  • 福州什么推广网站好室内设计资源网
  • 国网公司网站深圳做网站服务公司
  • 网站建设制作公司 首推万维科技农民工找活平台
  • wp网站做404wordpress 繁简
  • 网站开发什么语言比较好直播网站怎么做的
  • 找做网站的上什么app网站利用百度离线地图
  • 外贸公司应该怎样做外贸网站网站建设 中企动力成都
  • 网站开发算法面试贵州遵义企业公司网站建设
  • 学校网站建设制度免费企业网站建设哪种
  • 佛山技术支持 骏域网站建设ui设计较好的网站
  • 建设网站需要资料服装公司网站网页设计
  • 江苏网站推广公司正确的建议是
  • 手机网站解析域名秦皇岛网站建设价格
  • 南通网站建设排名公司哪家好网站建设合同要交印花税吗
  • wordpress网站设计作业网页设计的主题
  • 万维网注册域名后怎么导入网站传奇网站模板psd
  • 做网站不给源码程序移动端h5是什么意思
  • 珠海左右创意园网站开发免费空间资源
  • 手机网站建设中心经典 wordpress主题
  • 南村网站建设h5是什么意思游戏
  • 网站建设好后怎样形成app教育机构排名
  • 楼盘 东莞网站建设直播网站怎么做啊
  • 天河网站(建设信科网络)如何在别人的网站模板上加兼容