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

可口可乐网站建设g3云推广靠谱吗

可口可乐网站建设,g3云推广靠谱吗,wordpress文章自定义css,微信公众号里怎么做网站先来个抛砖引玉:大家在开发中经常碰到很多if()else{}条件的判断,其实这也算是一种设计模式--策略模式。当然,如果业务已经固定,后期不需要做任何修改的话,那么这种硬编码格式的确不会遇到任何问…

先来个抛砖引玉:大家在开发中经常碰到很多if()else{}条件的判断,其实这也算是一种设计模式--策略模式。当然,如果业务已经固定,后期不需要做任何修改的话,那么这种硬编码格式的确不会遇到任何问题。但是,如果一旦需要判断条件多了,那么你的代码可能会写N多的if else语句,而且还需要每次有需求变动的时候,都得去重新修改一次或者添加一次,这样的代码就让人头疼了。所以可以用一种枚举的方式,在判断中通过枚举遍历的方式来改善这种状况。这样的代码,让谁都喜欢。不然自己改动方便,后边看你代码的人也会感觉高大尚。所以说,设计模式对于开发者和架构者来说是一件非常重要的事情。下面,我就来说下自己对设计模式的理解,不会的可以学一学,理解比我深的可以发表你的看法,来纠正我的观点。

由于本篇和24种设计模式加起来内容有点多,所以需要抽出时间分开写,还望大家多多包涵,每写完一篇设计模式的理解和具体实现都会在对应的模式名称上附上链接。本篇主要介绍了设计模式的设计原则和分类。

设计模式的7个原则

1.开闭原则:对功能扩展开放,对修改关闭

就是说对功能扩展持开放态度,但是不允许对代码修改。说白了就是在不修改(对于sql来说就是不允许update)代码的情况下,通过添加别的地方的业务代码(对于sql来说就是insert)来扩展功能。最佳实现就是面向接口编程,这里可以参考工厂模式。

2.单一职责原则:一个类只实现一个功能

就是说创建了一个类只为一个或者说一种业务服务。其我认为这个不但是针对类,针对接口也适应,毕竟接口就是一个(特殊的)类。这样做的目的就是防止如果想要添加新的功能的话还需要对源代码进行修改(这也符合开闭原则,如果对原代码修改就破坏了开闭原则),而且如果一个类或者接口实现了很多功能的话,这个类或者接口就会让人感觉很乱,有一会东一会西的感觉。

3.依赖倒转原则:程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。

说白了就是要面向接口开发,而不是面向具体的类开发。

4.接口隔离原则:将不同功能的接口定义在不同的接口中来实现接口的隔离。

比如说某个类的接口有增删改查4个功能。但是我现在有个业务场景:在3个业务模块中分别有3个角色需要用到这个类的一些功能,A角色只需要其中的查询功能,B角色需要所有的功能,C角色需要其中的查找和修改功能。那么我需要定义3个接口:InterfaceA、InterfaceB、InterfaceC这3个接口,分别只实现对应的功能,而不是创建一个InterfaceD,里面实现了全部的功能,如果这样做,那我就要在3个模块中去都去实现所有的功能,但是对于某些业务模块又不是必须有的,产生了代码冗余。画图来解释吧,看的更清晰。

这样做我只需要实现对应的接口,没用到的我就没必要去实现了。

这样做的话就在本来不需要的地方写了不需要的代码,造成了代码的冗余。

所以,总结一句话,接口隔离就是要求接口粒度最小化,减少接口之间相互依赖的时的冗余性和复杂性。

5.合成/聚合复用原则:新类包含现有类的话,尽量不使用继承。

虽然新类包含了旧类的字段,但是如果使用了继承,一旦旧类发生变化,但是新类不能变的话,就要对新类做出相应的修改。所以就是说如果不是父子关系,只是单纯的对现有类的扩展的话,复用的手段是合成/聚合复用,而不是通过继承的方式。

6.里式替换原则:父类能出现的地方,子类一定能够出现

就是说子类继承父类的话,子类不能重写父类的方法。

7.迪米特法则:尽量减少一个类对另一个类的依赖,保证这个类的独立性,以达到高内聚,低耦合。

设计模式的分类:按照功能和使用场景可以分为3种

创建型模式(5种):提供了多种优雅创建对象的方法

工厂模式(Factory Pattern)、抽象工厂模式(Abstract Factory Pattern)、单例模式(Singleton Pattern)、建造者模式(Builder Pattern)、原型模式(Prototype Pattern)

结构型模式(8种):通过类和接口之间继承和实现创建复杂结构的对象

适配器模式(Adapter Pattern)、桥接模式(Bridge Pattern)、过滤器模式(Filter、Criteria Pattern)、

组合模式(Composite Pattern)、装饰器模式(Decorator Pattern)、外观模式(Facade Pattern)、

享元模式(Flyweight Pattern)、代理模式(Proxy Pattern)

行为型模式(11种):通过类之间不同的通信方式实现不同的接口

责任链模式(Chain Of Responsibility Pattern)、命令模式(Command Pattern)、

解释器模式(Interpreter Pattern)、迭代器模式(Iterator Pattern)、中介者模式(Mediator Pattern)、

备忘录模式(Memento Pattern)、观察者模式(Observer Pattern)、状态模式(State Pattern)、

策略模式(Strategy Pattern)、模板模式(Tmplate Pattern)、访问者模式(Visitor Pattern)

http://www.lbrq.cn/news/2682145.html

相关文章:

  • ios网站开发工具免费seo教程分享
  • 天堂中文在线南京seo招聘
  • 吉林省四平市建设局网站网络营销
  • 服务器网站建设搜索引擎培训班
  • wordpress 暴力破解青岛网站优化公司哪家好
  • 婚礼礼网站如何做的友情链接交换系统
  • 公司有网站域名 如何做网站网站统计工具有哪些
  • 海南建设网网站发布
  • 网站建设合同违约责任树枝seo
  • 网站loading动画效果合肥优化
  • 做文员的网站知乎市场营销方案怎么写
  • 网站分享功能怎么做竞价账户托管哪家好
  • php网站开发优化企业邮箱哪个好
  • 做系统之前的网站友情链接网站免费
  • 最新聊天记录做图网站代运营公司前十名
  • 专业做公司logo的网站成功的品牌推广案例分析
  • 南宁市网站开发公司电话百度一下首页百度一下
  • 凡客网站建设正规微商免费推广软件
  • 织梦模板大气网站建设类网站模板公司网络营销推广方案
  • 网站建设网站软件有哪些内容seo技巧课程
  • 网站技术制作流程图冯站长之家
  • 企业微网站爱站网站seo查询工具
  • 横岗网站建设多少钱网络推广公司哪家好
  • 网站搜索不出来怎么进行seo
  • 网站目录 index营销宣传方式有哪些
  • 大兴快速网站建设哪家好在线培训考试系统
  • 网站建设违法行为网站建设与管理属于什么专业
  • 网站上图怎么用ps做百度推广系统营销平台
  • 做网站公司汉狮团队app投放推广
  • 如何做p2p网站网络推广员要怎么做
  • 【虚拟机】VMwareWorkstation17Pro安装步骤
  • 【Bug经验分享】由jsonObject-TypeReference引发的序列化问题
  • 数据结构:图
  • 「数据获取」中国高技术产业统计年鉴(1995-2024年)(获取方式看绑定的资源)
  • 软考 系统架构设计师系列知识点之杂项集萃(121)
  • 第十六届蓝桥杯大赛青少组 C++ 省赛真题解析(2025年8月10日)