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

邯郸形象网站建设电商网站模板免费

邯郸形象网站建设,电商网站模板免费,西安响应式网站建设公司,上海比较出名的广告公司策略模式的本质是为了消除if 、else代码,提供拓展点,对拓展开放,对修改关闭,也就是说我们开发一个功能的时候,要尽量的采用设计模式进行将不变的东西进行抽取出来,将变化的东西进行隔离开来,这样…

策略模式的本质是为了消除if 、else代码,提供拓展点,对拓展开放,对修改关闭,也就是说我们开发一个功能的时候,要尽量的采用设计模式进行将不变的东西进行抽取出来,将变化的东西进行隔离开来,这样不仅仅可以减少bug,也可以提高开发效率。

策略的整体是策略类的定义、创建、使用三部分。

定义一个策略接口类。

public interface UserCache {public void cache();}
public class LRUCache implements UserCache{@Overridepublic void cache() {System.out.println("LRU算法");}}
public class FIFOCache implements UserCache{@Overridepublic void cache() {System.out.println("FIFO cache");}
}
public class CacheContext {private UserCache userCache;public CacheContext(UserCache userCache) {this.userCache = userCache;}public void run() {userCache.cache();}}

测试类

LRUCache lruCache = new LRUCache();CacheContext cacheContext = new CacheContext(lruCache);cacheContext.run();

可以发现通过将不同的策略进行抽取出来,利用面向接口编程的方式,进行编程。其实也可以不利用context,也可以利用查表法进行编程。

public class CacheFactory {private static Map<String,UserCache> cache = new ConcurrentHashMap<>();static {cache.put("LRU",new LRUCache());cache.put("LRU",new LRUCache());}public static void run (String cacheType) {if (Objects.isNull(cacheType)) {throw new RuntimeException("");}UserCache userCache = cache.get(cacheType);userCache.cache();}}

其实在spring mvc中,比如解析不同的数据结构,xml、json等格式,都是进行抽象出高纬度的接口,然后根据配置进行查找对应的解析器进行处理,我们不一定要参考GOF的设计模式进行设计,一定要结合自身的业务实际来设计对象结构和逻辑,否则就不能灵活套用。

在说一个就是平时开发中为什么很少使用到设计模式,其实我们开发的大部分业务都不具备框架级别的可复用性,大多都是需求,一次性的,所以很少使用到。但是框架不一样,它需要考虑更重的适配性,不能说我都if、else 否则的话,那么缺少什么就需要进行编码调整,所以里面有各种的设计模式来提升程序的拓展性。

那么平时我们如何将学习到的设计模式使用到项目中,其实可以根据现有业务考虑,将不变的东西进行抽取,改变的东西进行拓展。但是也不要过度设计,否则为了编码的可拓展性,降低了可读性。设计一个精心的高拓展架构,其实本身就是一种权衡。架构设计亦是如此,软件设计也是如此。架构设计平衡的是在高性能、稳定性、可拓展上的权衡、软件设计则是在可读性、可拓展性、维护性权衡。

http://www.yayakq.cn/news/634621/

相关文章:

  • 哈尔滨网站建设自助建站网站被攻击了怎么处理
  • 网站首页phpcms怎么添加广州教育平台登录入口
  • 黑帽seo技术刷关键词排名seo软件
  • 河南专业网站建设开发团队西安中企动力科技股份有限公司
  • 怎么在国外网站买东西网络安全培训
  • 重庆官方网站查询系统电商网站有那些
  • 专业做网站哪里有中信建设有限责任公司龙芳
  • 市妇联门户网站平台建设情况天台县建设规划局网站
  • 威海 网站开发程序员 修电脑 做网站
  • 制作微信网站模板wordpress升级崩了
  • 网站备案号 脱离服务商哈尔滨seo网站排名
  • 斗门网站建设wordpress插件在哪
  • 坪山网站建设基本流程设计图片模板
  • 网站建设自评报告wordpress 打赏
  • wordpress多站点 域名邢台县建设局网站
  • 河南住房和城乡建设局网站用于建设教学网站的建站工具有哪些特点
  • 企业网站推广目标绿色调网站
  • 宁波高端网站开发聊城做wap网站找谁
  • wordpress知名中国网站网站域名是什么东西
  • 早期网站开发用的技术有哪些可以做头像的网站
  • 餐饮 公司 网站建设软件工程课程设计课程网站建设
  • 永久免费网站模板怎么去建一个网站
  • 网站后台ftp替换图片怎么做制作商城网站公司
  • 做国外网站赚钱自己的卡盟网站怎么做分站
  • 开发做一个网站需要多少钱网站维护运营主要是做什么的
  • 网站开发建设流程长沙网站建设商城
  • 做网站公司q房网微信视频号推广价格
  • 济南做网站优化磁力下载
  • wordpress订单邮件优化技术服务
  • 网站建设zrhskjWordPress 采集文章 图片