肥宅钓鱼网
当前位置: 首页 钓鱼百科

java设计模式有哪些(常用的java设计模式)

时间:2023-06-16 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

用一个图片来整体描述一下:二、设计模式的六大原则1、开闭原则开闭原则就是说对扩展开放,对修改关闭。里氏代换原则是对“开-闭”原则的补充。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

一、设计模式的分类

设计模式是不分语言的;前辈们总结出来的设计模式分:3种类型及23种模式:

设计模式主要分三个类型:创建型、结构型和行为型。

其中创建型有:

一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点

二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。

三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。

四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。

五、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。

行为型有:

六、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。

七、Observer,观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。

八、Template Method,模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。

九、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。

十、State,状态模式:允许对象在其内部状态改变时改变他的行为。对象看起来似乎改变了他的类。

十一、Strategy,策略模式:定义一系列的算法,把他们一个个封装起来,并使他们可以互相替换,本模式使得算法可以独立于使用它们的客户。

十二、China of Responsibility,职责链模式:使多个对象都有机会处理请求,从而避免请求的送发者和接收者之间的耦合关系

十三、Mediator,中介者模式:用一个中介对象封装一些列的对象交互。

十四、Visitor,访问者模式:表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这个元素的新操作。

十五、Interpreter,解释器模式:给定一个语言,定义他的文法的一个表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

十六、Memento,备忘录模式:在不破坏对象的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

结构型有:

十七、Composite,组合模式:将对象组合成树形结构以表示部分整体的关系,Composite使得用户对单个对象和组合对象的使用具有一致性。

十八、Facade,外观模式:为子系统中的一组接口提供一致的界面,fa?ade提供了一高层接口,这个接口使得子系统更容易使用。

十九、Proxy,代理模式:为其他对象提供一种代理以控制对这个对象的访问

二十、Adapter,适配器模式:将一类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。

二十一、Decrator,装饰模式:动态地给一个对象增加一些额外的职责,就增加的功能来说,Decorator模式相比生成子类更加灵活。

二十二、Bridge,桥模式:将抽象部分与它的实现部分相分离,使他们可以独立的变化。

二十三、Flyweight,享元模式

开发模式:

JAVA中的开发模式:

MVC是一个很常用的程序开发设计模式,M-Model(模型):封装应用程序的状态;V-View(视图):表示用户界面;C-Controlle

其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:

二、设计模式的六大原则

1、开闭原则(Open Close Principle)

开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。

2、里氏代换原则(Liskov Substitution Principle)

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。—— From Baidu 百科

3、依赖倒转原则(Dependence Inversion Principle)

这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。

4、接口隔离原则(Interface Segregation Principle)

这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。

5、迪米特法则(最少知道原则)(Demeter Principle)

为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

6、合成复用原则(Composite Reuse Principle)

原则是尽量使用合成/聚合的方式,而不是使用继承。

    推荐阅读
  • 孕妇清炖猪肚汤的做法(怎样做孕妇吃的清炖猪肚汤)

    孕妇清炖猪肚汤的做法猪肚1个,鸡1只,胡椒粒、红枣、枸杞、葱、生姜、料酒、食盐、胡椒粉、生粉各适量。将鸡处理干净,放置一旁沥干水分备用。猪肚用生粉、食盐、醋反复搓洗干净。将胡椒粒、葱结、姜片塞入猪肚中,再将鸡塞入,开口处用牙签穿起来封好。再将其放入汤煲中,注入足量清水。将猪肚捞出,去掉牙签,拣出葱姜、胡椒粒。将猪肚切成条,鸡肉同样撕成条状,放回汤锅。加入枸杞、红枣,再煮15分钟左右。

  • 为何英格兰与苏格兰争端不断(苏格兰在历史上为何总是打不过英格兰)

    英军的士兵可能是从法国各地、弗兰德斯乃至德意志地区招募的职业军人。这些人没有属于自己的土地束缚,能够为出钱的君主长期服役。缺少陆战牵绊的苏格兰人,一度领先英格兰建立了近代早期的远海舰队。推动他们不被英格兰人彻底甩开的因素,居然是出国打工的雇佣军部队。结果还是不利于苏格兰人,他们经常被重新调整后的英军打的找不着北。

  • 吃什么不能喝橙汁(橙汁不能和什么一起吃)

    下面希望有你要的答案,我们一起来看看吧!吃什么不能喝橙汁橙子忌与槟榔同食,如果与槟榔一起吃,橙子里的维生素C会与槟榔内的石灰发生反应,导致人中毒。饭前或空腹时不宜食用,否则橙子所含的有机酸会刺激胃黏膜,对胃不利。橙子味美但不要吃得过多,如吃得过多将有可能患“胡萝卜素血症”。吃完橙子应及时刷牙漱口,以免对口腔牙齿有害。

  • 姑娘果不洗可以吃吗(不洗的姑娘果能不能吃)

    接下来我们就一起去研究一下吧!一般市场上看到的姑娘果都是商家从某个地方进货而来的,首先运输过程中姑娘果就很容易沾上灰尘以及脏东西,其次有些商家为了可以将姑娘果保存时间更长有时候会往里面撒一些药物。购买回家要是吃的时候不进行清洗,那么姑娘果上残留的灰尘脏东西以及农药,具有可能会加重人体的胃肠道负担,导致人体出现腹痛、腹泻以及便溏等不适症状发生,对人体的健康造成威胁,所以姑娘果要清洗之后再吃。

  • 土话的意思是(中华熟语解释6)

    中华熟语解释6501、骑鹤上扬州——后比喻欲集做官、发财、成仙于一身,或形容贪婪、妄想  502、清一色——原指打麻将时由一种花色组成的一副牌后比喻全部由同一种成分构成  503、清官难断家务事——再公正的官吏也。

  • 妮子可以用洗衣机洗吗(妮子能不能用洗衣机洗)

    下面希望有你要的答案,我们一起来看看吧!妮子可以用洗衣机洗吗妮子可以用洗衣机柔洗,干后再烫平即可。接着不断擦拭,使得污渍的面积慢慢缩小,然后立即用中性的洗涤剂清洗。如果是果汁等比较容易清洗的污渍,可以用沾有热水的湿布轻轻拍打大衣,这样污渍就可以被清理干净了,要是还残留一点,可以在用一点中性洗涤剂擦拭。

  • 八十年代经典爱情老电影(80年代的这34部老电影)

    当时好像实在没有什么娱乐,看电影就是最好的放松了。很多谈恋爱的小年轻,也都是买张电影票,走进电影院,边谈人生边看电影,成功率很高哦!下面是八十年代的一些经典老电影,看看吧,找找年轻时候的记忆。巴山夜雨被爱情遗忘的角落不该发生的故事城南旧事大桥下面芙蓉镇红衣少女黄山来的姑娘黄土地庐山恋骆驼祥子苗苗牧马人逆光人到中年人生沙鸥天云山传奇野山原野月亮湾的笑声知音

  • 兰蔻菁纯面霜双十一活动(1.4折囤货价99元秒兰蔻菁纯面霜)

    1.4折囤货价99元秒兰蔻菁纯面霜有这么一个成分,风mi护肤界,备受各大品牌追捧不管是暗沉、粗糙、细纹,还是肌肤松弛的初老肌和熬夜肌,都是jiu星一般的存在没错,这个成分就是近来大火的--玻色因玻色因,大名鼎鼎的贵妇ji抗初老成分,能。

  • 总出现应用程序无法正常启动(应用程序无法正常启动该如何解决)

    应用程序无法正常启动这个问题多见于win10系统,很多人可能会第一时间想到给电脑重装系统,其实很多时候不需要这么麻烦,我们可以通过修复工具来解决这类问题。更多小白一键重装系统官网_让电脑小白也会用的win11/win10/win7一键重装系统软件!尽在小白系统重装官网系统:win10系统电脑:联想电脑1、我们现在网上下载DirectX修复工具,然后直接启动修复程序,点击检测并修复。

  • 柠香千层包如何做(做千层包的方法)

    柠香千层包如何做高筋粉500g、糖4大勺、盐1小勺、柠檬半只、酵母适量、玉米油适量、黄油适量、鸡蛋1只。将高筋粉,玉米油,糖,盐,酵母,鸡蛋,全部放到面包机中,再将半个柠檬挤汁,柠檬皮切碎,全部揉入面团中,可以揉两次。放入烤箱,上面190度,下面180度,15分钟搞定了,老早就能闻见一股柠檬香了。