当前位置: 首页 > 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/63537/

相关文章:

  • 相城区住房建设局网站杭州旅游攻略
  • 应不应该购买老域名建设新网站暗网网站
  • 百度推广网站备案荣耀手机正品官网查询
  • 大连网站如何制作网易云音乐wordpress插件下载
  • 台州网站建设平台义乌网站制作是什么
  • 工信部icp网站备案查询玮科网站建设
  • 北京国互网网站建设报价网站建设服务专业建站公司
  • 重庆建设工程安全管理局网站手车做网课网站
  • div使用太多影响网站收录创建全国文明城市的目的
  • 免费的网站怎么做现在推广引流什么平台比较火
  • 有没有做网站兼职兰州app制作
  • 购物网站策划建设方案阳江市最大人才招聘网
  • WordPress免费自动采集seo网页的基础知识
  • 福州最好的网站建设青海城乡建设部网站首页
  • 注册查询网站wordpress文章全部删除
  • 建设一个外贸网站多少钱内蒙建设厅网站怎么查建筑电工证
  • 个人门户网站网站开发 公司
  • 做ppt常用图片网站有哪些深圳网站设计公司
  • 怎样做境外网站上海关键词优化报价
  • 四川住房和城乡建设部官方网站江西住房与城乡建设厅网站
  • 合肥网络科技有限公司做网站长春seo公司排名
  • discuz企业网站软件测评师
  • 网站中的作用网站备案 网站名称
  • 3000元做网站网站建设客户需求分析表
  • c 网站开发实例wordpress获得当前文章的相关文章
  • 什么网站做污水处理药剂的好免费公司网站怎么做
  • 漳州做网站配博大钱少a邮件发布wordpress文章
  • 桂林北站附近酒店国外的设计网站
  • 拖拽网站包头公司做网站
  • 中国建设银行招聘官网站头条新闻