清泓y
UE开发工程师
展开
-
设计模式(详细介绍了各种模式和原则)
一.设计模式简介1.底层思维:向下,把握机器底层语言(语言构造,编译转换,内存模型,运行时机制)2.抽象思维:向上,将我们的世界抽象为代码(面向对象,组件封装,设计模式,架构模式)二.面向对象1.重新认识面向对象理解隔离变化:从宏观层面看,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小。各司其职:从微观层面来看,面向对象的方式更强调各个类的“责任”。由于需求变化导致的新增类型不应该影响原来类型的实现,是所谓的各负其责。对象是什么?从语言实现层面看,对象封装了代码和数据从原创 2021-10-17 21:01:56 · 368 阅读 · 0 评论 -
玩转迭代器模式
迭代器模式是一种行为设计模式,让你能在不暴露集合底层表现形式(列表、栈和树等)的情况下遍历集合中所有的元素。集合是编程中最常使用的数据类型之一。尽管如此,集合只是一组对象的容器而已。大部分集合使用简单列表存储元素。但有些集合还会使用栈、 树、 图和其他复杂的数据结构。无论集合的构成方式如何, 它都必须提供某种访问元素的方式, 便于其他代码使用其中的元素。集合应提供一种能够遍历元素的方式, 且保证它不会周而复始地访问同一个元素。如果你的集合基于列表, 那么这项工作听上去仿佛很简单。原创 2025-02-12 00:17:59 · 45 阅读 · 0 评论 -
玩转状态模式
状态模式与有限状态机的概念紧密相关。其主要思想是程序在任意时刻仅可处于几种有限的状态中。在任何一个特定状态中,程序的行为都不相同,且可瞬间从一个状态切换到另一个状态。不过,根据当前状态,程序可能会切换到另外一种状态,也可能会保持当前状态不变。这些数量有限且预先定义的状态切换规则被称为转移。你还可将该方法应用在对象上。假如你有一个文档Document类。文档可能会处于草稿Draft、审阅中Moderation和已发布Published三种状态中的一种。原创 2025-02-12 00:11:41 · 208 阅读 · 0 评论 -
玩转代理模式
代理模式,主要用途就是代理一个某一个所需要的物件,但是我们不直接使用这个物件,我们用一个代理接口来代替我们使用这个物件。原创 2025-02-12 00:06:43 · 55 阅读 · 0 评论 -
玩转观察者模式
观察者模式通俗点解释就是你在观察别人,别人有什么变化,你就做出什么调整。观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知多个“观察”该对象的其他对象。假如你有两种类型的对象: 顾客和商店。顾客对某个特定品牌的产品非常感兴趣 (例如最新型号的 iPhone 手机), 而该产品很快将会在商店里出售。顾客可以每天来商店看看产品是否到货。但如果商品尚未到货时, 绝大多数来到商店的顾客都会空手而归。原创 2025-02-12 00:02:05 · 501 阅读 · 0 评论 -
玩转适配器模式
适配器模式可比上一篇的工厂模式好理解多了,工厂模式要具有抽象的思维。这个适配器模式,正如字面意思,就是要去适配某一件物品。假如你正在开发一款股票市场监测程序, 它会从不同来源下载 XML 格式的股票数据, 然后向用户呈现出美观的图表。开发过程中, 你决定在程序中整合一个第三方智能分析函数库。但是遇到了一个问题, 那就是分析函数库只兼容 JSON 格式的数据。你可以修改程序库来支持 XML。但是,这可能需要修改部分依赖该程序库的现有代码。原创 2025-02-11 23:55:21 · 218 阅读 · 0 评论 -
玩转工厂模式
工厂方法模式是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。如果我们的物流服务开始只有路上服务,但是后来又想发展一条海上物流,如果代码其余部分与现有类已经存在耦合关系,那么向程序中添加新类就不好办了。所以就引出来了我们的工厂方法,工厂方法模式建议使用特殊的工厂方法代替对于对象构造函数的直接调用(即使用new运算符)。对象仍将通过new运算符创建,只是该运算符改在工厂方法中调用罢了。工厂方法返回的对象通常被称作“产品”原创 2025-02-11 23:43:10 · 67 阅读 · 0 评论