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

凡科网小程序制作教程网站建设时应该做的优化

凡科网小程序制作教程,网站建设时应该做的优化,网站开发需要哪些,全国一体化在线政务服务平台作为一名程序员,你一定遇到或亲自写过这样的代码。有人将它形象的形容为shi山,或者被戏称为“面向保就业编程”。 以下面这个代码为例,其中的问题也显而易见,当越来越多的条件判断时,代码会变得非常臃肿,难…

作为一名程序员,你一定遇到或亲自写过这样的代码。有人将它形象的形容为shi山,或者被戏称为“面向保就业编程”。

image-20240109224714584

以下面这个代码为例,其中的问题也显而易见,当越来越多的条件判断时,代码会变得非常臃肿,难以维护。

    String mediaType = "blogger";if ("lxf".equals(mediaType)) {System.out.println("廖雪峰");} else if ("JavaPub".equals(mediaType)) {System.out.println("知名博主");} else if ("msb".equals(mediaType)) {System.out.println("马士兵");}...

image-20240109224734174

解决

怎么办呢?

首先想到的一定是使用三目运算符,但是问题也显而易见,不能处理过多的情况。

    int price = condition?80:100;

还有什么办法呢,枚举定义、合并查询条件、java8 新特性 Optional 等等,但是这些方法都治标不治本。当判断多了起来,还是会变得臃肿。

策略模式

接下来就讲一下今天的推荐方案,策略模式。

你一定不要排斥这种设计模式,简单来看其实很简单。

策略模式是一种行为设计模式,它允许你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。这句话可能有点绕,我们来看一个具体的例子。

首先,我们把每个条件逻辑代码块,抽象成一个公共的接口,可以得到以下代码:

    // 获取博主信息接口public interface IMediaService {void showMedia();}

我们根据每个逻辑条件,定义相对应的策略实现类,可得以下代码:

    // LXF策略实现类public class LXFMediaServiceImpl implements IMediaService {@Overridepublic void showMedia() {System.out.println("廖雪峰");}}// JavaPub策略实现类public class JavaPubMediaServiceImpl implements IMediaService {@Overridepublic void showMedia() {System.out.println("知名博主");}}// MSB策略实现类public class MSBMediaServiceImpl implements IMediaService {@Overridepublic void showMedia() {System.out.println("马士兵");}}

接下来,我们再定义策略工厂类,用来管理这些博主信息实现策略类,如下:

    // 博主信息服务工产类public class MediaServicesFactory {private static final Map<String, IMediaService> map = new HashMap<>();static {map.put("lxf", new LXFMediaServiceImpl());map.put("JavaPub", new JavaPubMediaServiceImpl());map.put("msb", new MSBMediaServiceImpl());}public static IMediaService getMediaService(String mediaType) {return map.get(mediaType);}}

使用了策略+工厂模式之后,代码变得简洁多了,如下:

    public class Test {public static void main(String[] args) {String mediaType = "JavaPub";IMediaService mediaService = MediaServicesFactory.getMediaService(mediaType);mediaService.showMedia();}}

看到这里,是不是很简单。

这样的好处也显而易见,就是可以灵活的切换不同的博主信息,比如:

  • 我想看JavaPub的信息,只需要将mediaType设置为JavaPub即可。
  • 我想看马士兵的信息,只需要将mediaType设置为msb即可。
http://www.yayakq.cn/news/751763/

相关文章:

  • 网站顶部广告图片南充免费推广网站
  • 义乌外贸网站建设行吗眉山网站制作
  • 互动网站策划定制品牌排行榜前十名
  • 安卓手机怎么做网站设计网免费
  • 营销型外贸网站定制大数据网站
  • 任县网站建设多少钱免费推广网站2023mmm
  • html5 自适应网站wordpress 设置导航栏
  • 一般的信息网站用什么做怎么让网站自适应
  • 百度收录提交网站后多久收录网页版qq可以聊天吗
  • 网站动效wordpress删除脚标
  • 网站怎么上传数据库wordpress主题下载弹窗
  • 做网站主要注意些什么深圳网站建设公司是
  • 网站开发产权保护网络营销课程免费
  • q版设计网站网站开发前端工程师
  • 做电影网站用什么软件网络维护人员
  • 如何实现网站的伪静态wordpress替换图片
  • 北京做网站费用做个网站要多久
  • 山东建设信息网站济南做网站建设
  • 建站之星做网站网页设计中文本居中用什么代码
  • 做商城网站建设哪家好wordpress速度慢啊
  • html5商城网站模板今天最新新闻国内大事件
  • 广州哪家做网站还可以广东东莞企业招聘网最新招聘
  • 安装网站程序的流程广告设计接单网站
  • 中关村在线网站的建设阿里云云栖wordpress
  • 西北苗木网陕西泽基生态建设有限公司网站泉州微信网站开发公司
  • 做网站预付款 怎么做账奉贤庄行网站建设
  • 做竞价网站教做美食网站源码
  • 免费网站模版下载软件前端开发
  • 网站设计是什么意思南宁seo渠道哪家好
  • 做图书馆网站模板wordpress未登录用户重定向