设计模式
文章平均质量分 93
大猩猩爱分享
爱打篮球,相互交流,一起成长
展开
-
设计模式策略模式讲解和代码示例
设计模式策略模式讲解和代码示例原创 2023-12-17 19:15:54 · 488 阅读 · 0 评论 -
访问者设计模式讲解和代码示例
作为代码库的管理员, 相信你也不想在每次有人要求添加另外一种行为时就去冒着风险改动自己的宝贝代码。但这样的修改只需要进行一次。最后, 形状结构体只需要修改一次, 并且所有未来针对不同行为的请求都可以使用相同的 accept 函数来进行处理。最终, 访问者模式建立了一个框架, 允许我们在不修改已有类的情况下向形状层次结构中添加新的行为。是一种行为设计模式, 允许你在不修改已有代码的情况下向已有类层次结构中增加新的行为。行为, 我们只需简单地定义访问者接口的具体实现, 并在其中编写面积的计算逻辑即可。原创 2023-12-17 18:41:53 · 65 阅读 · 0 评论 -
设计模式——访问者模式
访问者模式是一种行为设计模式,它能将算法与其所作用的对象隔离开来。原创 2023-12-17 18:17:30 · 243 阅读 · 0 评论 -
设计模式——模板方法模式
模板方法模式是一种行为设计模式,它在超类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。原创 2023-12-17 18:06:24 · 303 阅读 · 0 评论 -
设计模式——策略模式
策略模式是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。原创 2023-12-17 17:56:42 · 464 阅读 · 0 评论 -
设计模式——状态模式
状态模式是一种行为设计模式,让你能在一个对象的内部状态变化时改变其行为,使其看上去就像改变了自身所属的类一样。原创 2023-12-17 17:48:20 · 808 阅读 · 0 评论 -
设计模式——观察者模式
观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知多个“观察”该对象的其他对象。原创 2023-12-17 17:38:14 · 224 阅读 · 0 评论 -
设计模式——备忘录模式
备忘录模式是一种行为设计模式,允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。原创 2023-12-17 17:29:00 · 334 阅读 · 0 评论 -
设计模式——中介者模式
中介者模式是一种行为设计模式,能让你减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个中介者对象进行合作。原创 2023-12-17 16:57:58 · 738 阅读 · 0 评论 -
设计模式——迭代器模式
迭代器模式是一种行为设计模式,让你能在不暴露集合底层表现形式(列表、栈和树等)的情况下遍历集合中所有的元素。原创 2023-12-17 16:48:50 · 388 阅读 · 0 评论 -
设计模式——命令模式
命令模式是一种行为设计模式,它可将请求转换为一个包含与请求相关的所有信息的独立对象。该转换让你能根据不同的请求将方法参数化、延迟请求执行或将其放入队列中,且能实现可撤销操作。原创 2023-12-17 16:22:29 · 453 阅读 · 0 评论 -
设计模式——责任链模式(行为模式)
责任链模式是一种行为设计模式,允许你将请求沿着处理者链进行发送。收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。原创 2023-12-17 12:43:29 · 404 阅读 · 0 评论 -
设计模式——代理模式(结构型)
代理模式是一种结构型设计模式,让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问,并允许在将请求提交给对象前后进行一些处理。原创 2023-12-17 16:30:00 · 217 阅读 · 0 评论 -
设计模式——享元模式(结构型)
享元模式是一种结构型设计模式,它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。原创 2023-12-16 19:26:29 · 261 阅读 · 0 评论 -
设计模式——外观模式(结构型)
外观模式是一种结构型设计模式,能为程序库、框架或其他复杂类提供一个简单的接口。原创 2023-12-16 19:09:54 · 198 阅读 · 0 评论 -
设计模式——装饰模式(结构型)
装饰模式是一种结构型设计模式,允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。原创 2023-12-16 18:50:56 · 322 阅读 · 0 评论 -
设计模式——组合模式(结构型)
对于一个盒子, 该方法遍历盒子中的所有项目, 询问每个项目的价格, 然后返回该盒子的总价格。如果其中某个项目是小一号的盒子, 那么当前盒子也会遍历其中的所有项目, 以此类推, 直到计算出所有内部组成部分的价格。你甚至可以在盒子的最终价格中增加额外费用, 作为该盒子的包装费用。模式并不只是以特定方式组织代码的配方, 你还可以使用它们来和其他开发者讨论模式所解决的问题。尝试将其分解为简单元素和容器。在这一接口的帮助下, 客户端不必在意其所使用的对象的具体类。的类别, 所有盒子的嵌套层数以及其他繁杂的细节信息。原创 2023-12-15 22:29:39 · 601 阅读 · 0 评论 -
设计模式——桥接模式(结构型)
设计模式之桥接模式原创 2023-12-15 17:48:04 · 410 阅读 · 0 评论 -
设计模式——适配器模式(结构型)
为了解决数据格式不兼容的问题, 你可以为分析函数库中的每个类创建将 XML 转换为 JSON 格式的适配器, 然后让客户端仅通过这些适配器来与函数库进行交流。当某个适配器被调用时, 它会将传入的 XML 数据转换为 JSON 结构, 并将其传递给被封装分析对象的相应方法。适配器接受客户端通过适配器接口发起的调用, 并将其转换为适用于被封装服务对象的调用。如果您需要复用这样一些类, 他们处于同一个继承体系, 并且他们又有了额外的一些共同的方法, 但是这些共同的方法不是所有在这一继承体系中的子类所具有的共性。原创 2023-12-14 15:50:29 · 259 阅读 · 0 评论 -
设计模式——单例模式(创建型)
该方法可以创建一个新对象, 但如果该对象已经被创建, 则返回已有的对象。它的运作方式是这样的: 如果你创建了一个对象, 同时过一会儿后你决定再创建一个新对象, 此时你会获得之前已创建的对象, 而不是一个新对象。如果你的代码能够访问单例类, 那它就能调用单例类的静态方法。是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。如果程序中的某个类对于所有客户端只有一个可用的实例, 可以使用单例模式。该方法将缓存首次生成的对象, 并为所有后续调用返回该对象。原创 2023-12-13 22:26:11 · 300 阅读 · 0 评论 -
设计模式——原型模式代码示例
你可以实现中心化的原型注册站 (或工厂), 其中包含一系列预定义的原型对象。这样一来, 你就可以通过传递对象名称或其他参数的方式从工厂处获得新的对象。所有的原型类都必须有一个通用的接口, 使得即使在对象所属的具体类未知的情况下也能复制对象。原型对象可以生成自身的完整副本, 因为相同类的对象可以相互访问对方的私有成员变量。是一种创建型设计模式, 使你能够复制对象, 甚至是复杂对象, 而又无需使代码依赖它们所属的类。任何类都可通过实现该接口来实现可被克隆的性质。(可克隆) 接口就是立即可用的原型模式。原创 2023-12-13 22:11:35 · 453 阅读 · 0 评论 -
设计模式——原型模式(创建型)
即使你可以接受额外的依赖性, 那还有另外一个问题: 有时你只知道对象所实现的接口, 而不知道其所属的具体类, 比如可向方法的某个参数传入实现了某个接口的任何对象。方法的实现都非常相似。该方法会创建一个当前类的对象, 然后将原始对象所有的成员变量值复制到新建的类中。即使不考虑代码耦合的情况, 你的代码也不能依赖这些对象所属的具体类, 因为你不知道它们的具体信息。原型模式为客户端代码提供一个通用接口, 客户端代码可通过这一接口与所有实现了克隆的对象进行交互, 它也使得客户端代码与其所克隆的对象具体类独立开来。原创 2023-12-13 00:03:30 · 383 阅读 · 0 评论 -
设计模式——建造者模式(Java示例)
它仅与汽车的通用接口进行交互。生成器模式是 Java 世界中的一个著名模式。当你需要创建一个可能有许多配置选项的对象时, 该模式会特别有用。生成器模式可以通过类来识别, 它拥有一个构建方法和多个配置结果对象的方法。最终结果将从生成器对象中获得, 因为主管不知道最终产品的类型。与其他创建型模式不同, 生成器不要求产品拥有通用接口。这使得用相同的创建过程生成不同的产品成为可能。示例还展示了生成器如何使用相同的生产过程制造不同类型的产品 (汽车手册)。在本例中, 生成器模式允许你分步骤地制造不同型号的汽车。原创 2023-12-11 22:37:36 · 368 阅读 · 0 评论 -
设计模式——建造者模式(创建型)
生成器模式是一种创建型设计模式,使你能够分步骤创建复杂对象。该模式允许你使用相同的创建代码生成不同类型和形式的对象。原创 2023-12-11 22:23:04 · 872 阅读 · 2 评论 -
设计模式——抽象工厂模式(创建型)
设计模式之抽象工长模式原创 2023-03-12 20:20:21 · 499 阅读 · 0 评论 -
设计模式——工厂方法模式(创建型)
设计模式之工厂方法模式(创建型模式)原创 2023-03-10 18:02:25 · 793 阅读 · 0 评论