
设计模式
文章平均质量分 81
LB_bei
这个作者很懒,什么都没留下…
展开
-
设计模式-行为型模式-中介者模式
定义一个单独的(中介)对象,来封装一组对象之间的交互,将这组对象之间的交互委派给中介对象交互,从而避免对象之间的交互;中介者模式主要解决对象间的交互复杂性问题,而代理模式则主要用于控制对某个对象的访问;原创 2024-09-23 14:46:19 · 649 阅读 · 0 评论 -
设计模式-行为型模式-迭代器模式
迭代器模式提供一种对容器对象中的各个元素进行访问的方法,而不需要暴露该对象的内部细节;在软件系统中,容器对象有两个职责:一是存储数据,二是遍历数据;从依赖性上看,前者是基本职责,而后者是可以变化的,又是可以分离的,因此可以将遍历数据的行为从容器中抽取出来,封装到迭代器对象中,由迭代器来提供遍历数据的行为,这将简化聚合对象的设计,更加符合单一职责原则;对于迭代器模式,设计时很少用到,但编码时经常用到,目前大多数编程语言中,迭代器已经成为一个基础的类库,直接能用来遍历集合对象;原创 2024-09-06 16:47:07 · 944 阅读 · 0 评论 -
设计模式-行为型模式-解释器模式
用于定义语言的语法规则表示,并提供解释器来处理句子中的语法;原创 2024-09-20 15:09:50 · 1211 阅读 · 0 评论 -
设计模式-行为型模式-命令模式
命令模式将请求封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同请求依赖注入到其他对象),并且能够支持请求的排队执行、记录日志、撤销等功能;原创 2024-09-20 11:13:51 · 777 阅读 · 0 评论 -
设计模式-行为型模式-备忘录模式
在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态;原创 2024-09-13 17:27:43 · 717 阅读 · 0 评论 -
设计模式-行为型模式-访问者模式
允许在运行时将一个或多个操作应用于一组对象,将操作与对象结构分离;访问者模式主要解决的是数据与算法的耦合问题,尤其是在数据结构比较稳定,而算法多变的情况下,为了不污染数据本身,访问者会将多种算法独立归档,并在访问数据时根据数据类型自动切换到对应的算法,实现数据的自动响应机制,并确保算法的自由扩展;原创 2024-09-13 16:38:37 · 1045 阅读 · 0 评论 -
设计模式-行为型模式-状态模式
允许一个对象在其内部状态改变时改变他的行为,用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题,状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象的状态可以灵活变化;原创 2024-09-06 15:24:58 · 1055 阅读 · 0 评论 -
设计模式-行为型模式-职责链模式
避免讲一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求,将接受请求的对象连接成一条链,并且沿着这条链传递请求,直到有一个对象能处理他为止;原创 2024-09-05 10:49:50 · 889 阅读 · 0 评论 -
设计模式-行为型模式-策略模式
定义一系列算法,将每个算法封装起来,并使他们可以相互替换,使得算法可以随着使用他的客户端变化而变化;当实现某一个功能存在多种算法或策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来实现该功能;原创 2024-09-05 09:56:52 · 648 阅读 · 0 评论 -
设计模式-行为型模式-模板方法模式
模板方法模式在父类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤;是一种基于继承的代码服用技术,其结构只存在于父类与子类之间的继承关系下;原创 2024-09-04 17:14:38 · 677 阅读 · 0 评论 -
设计模式-行为型模式-观察者模式
定义对象之间一对多依赖关系,这样当一个对象改变状态时,他的所有依赖项都会自动得到通知和更新;原创 2024-09-02 18:01:34 · 776 阅读 · 0 评论 -
设计模式-结构型模式-组合模式
将对象组合成树形结构以表示整个部分的层次结构,组合模式可以让用户统一对待单个对象和对象的组合;其更像是一种数据结构和算法的抽象,其中数据可以表示成树这种数据结构,业务需求可以通过在树上的递归遍历算法来实现;原创 2024-08-29 16:58:56 · 742 阅读 · 0 评论 -
设计模式-结构型模式-外观模式
为子系统中的一组接口提供统一的接口,它定义了一个更高级别的接口,使得子系统更易于使用;相当于公司部门之间通过代表来沟通,这样减少无效、复杂的沟通;原创 2024-08-28 09:28:20 · 540 阅读 · 0 评论 -
设计模式-结构型模式-享元模式
摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,从而让我们能在有限的内存容量中载入更多对象;原创 2024-08-30 14:48:31 · 1294 阅读 · 0 评论 -
设计模式-结构型模式-适配器模式
将类的接口转化为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作;原创 2024-08-26 15:04:52 · 933 阅读 · 0 评论 -
设计模式-结构型模式-装饰器模式
装饰器模式动态的给一个对象添加一些额外的职责,就扩展功能而言,装饰器模式提供了一种比子类更加灵活的方案;在软件设计中,装饰器模式是一种用于替代继承的技术,通过一种无需定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系;原创 2024-08-23 14:21:24 · 1315 阅读 · 0 评论 -
设计模式-结构性模式-桥接模式
桥接模式就是将抽象部分与他的实现部分分离,使他们都可以独立的变化;桥接模式用一种巧妙地方式处理多层继承存在的问题,用抽象关联来取代传统的多层继承,将类之间的静态继承关系转变为动态的组合关系,使得系统更加灵活,并易于扩展,有效地控制了系统中类的个数;原创 2024-08-23 10:44:39 · 776 阅读 · 0 评论 -
设计模式-结构型模式-代理模式
让你能够提供对象的代替品或占位符,代理控制着对于原对象的访问,并允许将请求提交给对象前后进行一些处理;原创 2024-08-22 15:04:13 · 1298 阅读 · 0 评论 -
设计模式-创建型模式-原型模式
用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象;原创 2024-08-21 09:29:04 · 936 阅读 · 0 评论 -
设计模式-创建型模式-建造者模式
建造者模式又称生成器模式,将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示;原创 2024-08-20 14:22:33 · 1127 阅读 · 0 评论 -
设计模式-创建型模式-工厂模式
工厂模式提供了一种创建对象的最佳方式,在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象;工厂模式分为三种:简单工厂、工厂方法和抽象工厂;原创 2024-08-06 11:17:03 · 684 阅读 · 0 评论 -
设计模式-创建型模式-单例设计模式
单例模式是最简单的模式之一,其保证了某个类在运行期间只有一个实例对外提供服务;原创 2024-08-01 09:15:16 · 1001 阅读 · 0 评论 -
设计模式-六大设计原则
一个类或者模块只负责完成一个职责;【实例】上面这个类,当此类只是用来展示用户信息,则设计符合单一职责;当此用户的地址经常需要使用,比如电商平台类的项目,则需要将地址信息分离出来才符合单一职责。1.1 如何判断一个类是否违反单一职责类中代码行数、函数、属性过多类依赖的其他类过多(如果某个 service 类需要依赖多个不同功能的 service 类来完成一个复杂的业务逻辑,但自身的职责仍然是单一的,那么这也是符合单一职责原则的)私有方法过多。原创 2024-07-31 14:11:35 · 903 阅读 · 0 评论 -
设计模式-UML类图
UML-统一建模语言,用来设计软件的可视化建模语言;原创 2024-07-16 15:46:20 · 362 阅读 · 0 评论 -
设计模式-概述*
设计模式目录:22种设计模式设计模式目录根据意图、复杂程度和流行程度进行分组,包括创建型模式,结构型模式,和行为型模式。立即开始学习!设计模式就是一套被反复使用的、经过分类编目的、代码设计经验的总结。原创 2024-07-16 14:53:34 · 450 阅读 · 0 评论