【设计模式】——策略模式 2024-05-14 策略模式, 设计模式 191人 已看 略设计模式定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换。策略模式使得算法可以独立于使用它的客户端变化。
设计模式:观察者模式 2024-05-11 python, 观察者模式, 设计模式, 开发语言 166人 已看 观察者模式(Observer Pattern)是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式通常被用来实现事件处理系统、实时数据更新、状态监控等多种场景。
设计模式——结构型模式——代理模式(静态代理、动态代理:JDK、CGLIB) 2024-05-12 java, 系统安全, 代理模式, 设计模式, 开发语言 99人 已看 代理模式属于结构型模式。指一个对象本身不做实际的操作,而是通过其他对象来获取自己想要的结果。产生背景:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。意义:目标对象只需要关注自己的实现细节,通过代理来实现功能的增强,可以扩展目标对象的功能。同时体现了非常重要的变成模式,不能随便修改目标对象的源码,如果需要修改目标对象的源码对已有功能进行增强,此时可以通过修改代理的方式实现功能的扩展。
Spring中用到的设计模式有哪些 2024-05-08 spring, java, 后端, 设计模式 93人 已看 观察者模式,Spring的事件驱动模型使用的是观察者模式 ,Spring中Observer模式常用的地方是listener的实现。适配器模式,Spring AOP的实现基于代理模式,但是Spring AOP的增强或通知(Advice)使用到了适配器模式,例如AdvisorAdapter、MethodBeforeAdviceAdapter。策略模式,Spring框架的资源访问Resource接口,该接口提供了更强的资源访问能力,Spring框架使用了Resource接口来访问底层资源。
设计模式——访问者模式(Visitor) 2024-05-10 设计模式, 访问者模式 184人 已看 访问者模式将数据结构(稳定的部分)中的元素(Element)的访问行为(变化的部分)封装在一个独立的访问者(Visitor)类中,使得可以在不修改数据结构的前提下增加新的操作。它提供一种让访问者可以访问其所有元素的能力,如可以遍历所有元素并调用元素的accept()方法。:实现了Element接口或继承了Element抽象类,实现了accept()方法,该方法通常调用访问者的访问操作并传入自己作为参数。:接口或抽象类,定义了一个接受访问者(accept)的方法,该方法通常以访问者作为参数。
设计模式 2024-05-13 java, 设计模式, 开发语言 70人 已看 从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,讲述面向对象编程思想的理解,梳理面向对象四大基本特性、七大设计原则和23种设计模式之间的关系软件开发中疑难问题:软件复杂庞大;很多软件很难维护;需求不断变更;软件开发中存在很多很多的问题,上面三个问题只是从程序开发和设计的角度看到的部分问题。要解决上面软件开发的问题,就要求我们编写(设计)的软件具有很好的可读性、可维护性和可扩展性,并且还要保证代码具有高内聚低耦合。提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。
设计模式——状态模式(State) 2024-05-10 java, 状态模式, servlet, ajax, 设计模式 116人 已看 状态模式(State Pattern)是一种行为设计模式,它允许一个对象在其内部状态改变时改变它的行为。状态模式通过把对象的每一个状态都封装到一个单独的类中,并将请求委托给当前状态对象来让状态的变化与行为变化相解耦。但是,状态模式也会增加系统的复杂性和开销,因为每个状态都要一个对应的类,当状态过多时会导致类的膨胀。:定义客户端所感兴趣的接口,并且维护一个当前状态,将与状态相关的操作委托给当前状态对象来处理。接口的具体实现,它们各自定义了在给定状态下如何处理请求的行为。:实现抽象状态类所定义的行为。
设计模式-迭代器模式 2024-05-10 算法, java, 迭代器模式, 设计模式, 开发语言 95人 已看 迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。
面向对象设计之套路——设计模式 2024-05-10 设计模式 84人 已看 面向对象的分析设计编程思想,通过封装、继承、多态把程序的耦合度降低,用设计模式使得程序更加灵活,容易修改,并且易于复用。让业务逻辑与界面逻辑分开,让它们的耦合度下降,只有分离,才可以达到容易维护和扩展。没有什么设计模式是完美无缺的,一个设计模式应是解决一类的问题,通常设计模式在解决一类问题的同时,还会带来别的问题,我们设计者要做的事,就是要扬长避短,充分发挥长处。
设计模式学习笔记 - 回顾总结:如何将设计思想、原则、模式等理论知识应用到项目中? 2024-05-07 学习, 笔记, 设计模式 111人 已看 我们第整个专栏的理论知识点做了串讲,不知道你掌握的如何?对于上节课总结的重点内容,希望你能多花点时间搞透彻,对于一些不那么重要的内容,你可以把它们当做资料,用到的时候随手查询,再深入学习。实际上,虽然理论掌握得差不多,专栏也很贴近实战,每个知识点的讲解都有结合实际的代码案例,并且最后还有集中的项目实战,但落实到自己写代码时,可能还是无法将学习到的理论知识很好的应用。本章,就再聊一聊如何将设计思想、原则、模式等理论知识应用到实际的项目开发中。
设计模式-策略模式 2024-05-07 策略模式, 设计模式 162人 已看 策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。
设计模式之传输对象模式 2024-05-06 设计模式 70人 已看 传输对象(Transfer Object, TO)模式,又称为数据传输对象(Data Transfer Object, DTO),是一种设计模式,主要用于不同的软件模块或者不同系统之间传输数据。它的核心思想是通过创建一个简单的、专为数据传输而设计的对象,来减少网络通信的成本或提高模块间的数据交换效率。这个对象通常包含一系列的属性和对应的get/set方法,不包含业务逻辑,仅用于封装数据。
设计模式-07 设计模式-观察者模式(Observer Pattern) 2024-05-09 观察者模式, 设计模式 91人 已看 观察者模式是一种软件设计模式,它定义了一种一对多的依赖关系,其中一个对象(称为“主题”)维护了一个依赖对象的列表(称为“观察者”),并且当主题的状态发生变化时,它会自动通知所有观察者。仅在需要时使用观察者模式。它可能会引入一些开销和复杂性。心中明白清楚地定义观察者订阅和取消订阅的机制。考虑使用观察者模式的变体,例如发布/订阅模式或模型-视图-控制器 (MVC) 模式。在设计观察者模式时,牢记 SOLID 原则(单一职责、开放/封闭、里氏替换、接口隔离和依赖反转)。
【设计模式】之适配器模式 2024-05-09 java, 适配器模式, 设计模式, 开发语言 121人 已看 今天继续给大家介绍23种设计模式中的适配器模式,这个模式相比于其他模式比较好理解,我们一起来学习一下吧。🌈
设计模式-观察者模式 2024-05-08 jvm, 算法, java, 观察者模式, 设计模式 114人 已看 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式模型-视图模式,它是对象行为型模式。
go设计模式之建造者设计模式 2024-05-09 golang, 后端, 设计模式, 开发语言 99人 已看 本案例buildHouse()的顺序是固定的,也就是说 igloo冰屋和 normalHouse普通房屋 的建造顺序是一样的。如果不同的对象有不同的构建顺序。在director中构建。
设计模式(2)创造型设计模式 2024-05-06 java, linux, 数据库, 大数据, 设计模式 98人 已看 创建型模式工厂模式简单工厂模式//下面两个个类继承Pizza ,也就说披萨工厂一共生产两种pizzaclass CheesePizza;class GreekPizza;class Pizza;//asbtract/* * 通过工厂类创建(实例化)两种pizza* 缺陷:如果需要增加新的种类的披萨,需要修改工厂类,增加一种条件判断,违反了闭合原则(对扩展是开放的,对修改是关闭的)*/class SimplePizzaFactor{public: Pizza* createPi
设计模式有哪些基本原则 2024-05-08 java, 设计模式, 开发语言 72人 已看 单一职责原则的核心就是控制类的粒度大小,将对象解耦提高其内聚性,降低类的复杂度(一个类只负责一项职责,其逻辑要比负责多项职责简单得多),提高可读性和可维护性,比如修改一个功能可以降低对其他功能的影响)。总之啊,只要不是你觉到悟到的,那就不是你自己的,给了你也拿不住,自己学到感悟道的,实际应用中才有可能做到,能做到的才是自己的。由Barbara Liskov提出,一种面向对象的设计原则,子类对象可以代替其基类对象,如果调用一个父类的方法可以成功,替换成子类调用也应该可以成功。