从基础的角度来看,设计模式是研究类本身或类与类之间的合作模式,是抽象归纳的快速思维。阅读设计模式后,为了加深理解,对相关图片进行了描述和微调。从技术的角度来看,有很多很好的总结。本文将从不同的角度思考。由于设计模式研究了类别与类别之间的关系,作为工作的个体,我们是否也可以比较一些工作策略,更好地思考这些模式?答案是肯定的。
序
从基础的角度来看,设计模式是研究类本身或类与类之间的合作模式,是抽象归纳的快速思维。阅读设计模式后,为了加深理解,对相关图片进行了描述和微调。从技术的角度来看,有很多很好的总结。本文将从不同的角度思考。由于设计模式研究了类别与类别之间的关系,作为工作的个体,我们是否也可以比较一些工作策略,更好地思考这些模式?答案是肯定的。
创建型模式 5抽象工厂(Abstract Factory):多套方案
抽象工厂模式是创建不同产品类型的抽象模式。与工作相对应,我们确实应该有能力提供多个解决方案,这通常被称为提供选择题。当你有这样的前瞻性意识时,你通常会被贴上更多思考的标签,但在内部,你确实认为这个问题更全面。
生成器(Builder):善于分解
生成器模式是细分个体的创建过程,并将其分解为不同的创建部分。这与工作相对应。作为一些项目经理或团队经理,我们需要合理地分解与大泥球相同的事务,以便每个人都能履行自己的职责,充分发挥自己的才能。同样,我们也可以根据结构划分日常工作内容,以便更好地调节。
工厂方法(Factory Method):抽象思考
工厂方法模式是通过接口模式抽象提供产品的过程。类似地,我们的许多工作过程都是面向过程的,没有抽象的细化。如果经过进一步的思考,那么你可以完善另一个层次,找到事物的本质:我们在做什么,我们的责任是什么,提供什么价值。想得更清楚,做得更准确。
原型(Prototype):传承知识
原型模式意味着使用复制对象的方法来减少一些复杂的创建过程。我们在这里可以学到的是,我们需要做好日常积累。许多解决方案不是每次都重写,而是可以复制和重用原始解决方案。这个clone的过程通常是知识传承的过程。如果有更好的继承机制,服务效率将大大提高。
单件(Singleton):专注
单一模式是指在多线程的情况下,确保对象只创建一次,作为一种独特的资源。我认为我们应该谈谈我们的工作模式。虽然我们经常不得不并发很多事情,但如果我们到处都被打断,想做好每件事,我们可能做不好每件事。我们应该确保我们在某个时间段尽最大努力做好一件事。事件是一件有效的事情,而不是一起慢慢解决。
结构型模式 7适配器(Adapter):适应能力
适配器是为了适应新的接口服务,如不同的协议入口。事实上,在工作中,我们需要适应不同的人和事,有不同的工作方法,但我们的核心能力是相同的,是为了解决相应的问题领域。
桥接(Bridge):合理关系
桥接模式是通过上层接口将相互依赖的部分提升到抽象层,减少类之间的直接合作,形成间接关系。对应于工作,有一个场景是经常开发到case的开发 by case解决问题。如果你去产品逻辑层面,开发产品,产品层面可能会有更好的抽象。当然,为了更好的服务体验,这种解耦是罕见的,但我们可能需要得到这样的想法。
组合(Composite):递归思考
组合模式可以通过继承和儿童节点来描述一个对象层次。对于我们的工作,为了加深思维水平,我们可以在思考之前打开一个点。同时,如果我们能在递归分解过程中抽象出一些共同点,我们就能找到一些规则。例如,我们的需求分解,每个需求都可以分解为子需求,子需求可以递归分解。分解后,每个部分都有这部分的owner驱动他的下游,形成层次结构。
装饰(Decorator):增量价值
装饰模式是对原有能力进行包装,并提供新的行为。事实上,每次功能迭代,我们都会在原来的基础上添加新的功能。在继承和理解原始逻辑的前提下,我们应该定义新的能力。这里还想提到的是,很多时候,我们只看到我们重用了巨大的基本能力,但也看到了我们对项目增量的贡献,这是我们的亮点。不要把“拧螺丝”当成拧螺丝。
外观(Facade):深入浅出
外观模式意味着我们不需要理解复杂的系统,而是通过外观来操作。这里我们的工作理念是,我们不需要展示复杂的细节,我们需要提供一些高级管理层的理解,报告,系统包装。例如,服务功能孤立,可能有很多,非常复杂,但如果有一个统一的网站来指导包装,那么感觉会好得多,看起来有点关闭和焦点。
享元(Flyweight):善于链接
享受元模式意味着,当我们有一些内容时,我们可以通过缓存重用,而不是重新创建,以减少成本。我们也应该在工作中积累,但我们也应该做好缓存key。如何将其与我们的工作联系起来,我们需要做好类别管理和持续积累。
代理(Proxy):理解保护
代理商的目的是包装一个类别,重新转发或控制相关操作。在工作中,在某些工作模式下,有时我们可能会抱怨管理者代表我们的决策和其他操作,但从另一个角度来看,他们保护您不受直接暴露在业务方面的影响,可以按照预期的节奏提供服务,并且不会主动设置一些预期的外部操作或私人工作。
行为型模式 11责任链(Chain of Responsibility):能力与责任
责任链意味着在找到可执行的处理器之前,请求一个接一个地执行。这里对我们工作的启示是,我们经常抱怨我们得到的机会少,不能成为队列中可以优先处理的处理器,总是处理别人不需要的事情。但从另一个角度来看,首先,责任链中的处理器应该是正交的,每个人都应该履行自己的职责。退一步说,如果真的有重叠,就要努力提升自己,成为能力强的人,从而提高队列的优先级。
命令(Command):加强合作
命令模型意味着将请求包装为命令,以便在执行过程中与具体的执行逻辑解耦。在工作中,有时我们不应该太关心一件事是如何完成的。当我们把它交给别人时,我们可以信任他们,也就是说,从解决问题的角度来看,我们不必做任何事,一切都是认真的。但这并不妨碍我们主动培养整体视角,了解每一个细节。合作会影响更多的事情。
解释器(Interpreter):加强理解
解释器模式意味着形成一套语言,可以通过解释表达意义来完成相应的任务。在这里,我们可以形成一个群体的领域语言,通过相关领域的语言交流,内部交流可以提高交流效率。此外,事实上,不同层次的专业术语也有不同层次的专业术语。有时一个术语的解释是一种顿悟,或者更多地了解工作内容本身。
迭代器(Iterator):横向职责
迭代模式是通过迭代模式独立集合的访问功能进行访问。在工作中,我们经常会看到这种独立职责的操作,我们会独立地看到一些需求管理、缺陷管理、资金安全等问题。一方面,这些功能块在主体上相对内聚。另一方面,工作职责的细分可以让每个人都做好自己的事情,充分发挥团队作战的效率:做好开发、测试和测试,做好资损防护学生的资损防护,做好整体工作。
中介者(Mediator):协调能力
中介模式意味着,当多个类别需要协调时,中介经常被引入协调,以降低每个人的知识成本。我们经常需要一些PM、对于PMO这样的角色来管理项目,系统还需要一些协调层来协调各个领域。因此,我们也注重培养协调事务、有全局观的能力。
备忘录(Memento):小步快跑
备忘录模式这是一些操作记录,可以恢复到以前的版本。在日常工作中,我们经常需要及时备份、保存、提交等操作,以便在程序崩溃时快速恢复到以前的版本。但从抽象的角度来看,我们应该分解一些长期而费力的事情,并及时锁定一些收入。
观察者(Observer):主观能动性
观察者模式是指我们通过注册和退出此类合作设计来完成变更通知的合作机制。从另一个角度来看,在这项工作中,我们可以把一些被动的工作变成主动的思考。例如,我需要做一些工作。从工作的角度来看,我必须这样做。从主动的角度来看,我需要培养一定的能力。如果对工作内容不满意,也可以沟通协调,而不是事后爆发,可以主观驱动。
状态(State):管理自己
状态模式是指在不同的状态下有不同的处理行为。在工作中,我们可能有一个良好的状态,一个糟糕的状态,主观的处理方法是调整状态。但如果我们不能调整它,我们应该做不同的操作。例如,当你有一个好的大脑时,思考一些复杂的问题;当你的大脑嗡作响时,做一些简单的安排。
策略(Strategy):理解决策
战略模式意味着完成一件事有不同的算法,可以切换。在我们的工作中,我们经常提供不同的解决方案,不同的解决方案有不同的成本和收入,但这些解决方案的选择往往不是我们能决定的,而是客户的积极判断。
模板(Template):标准化能力
模板模式是指通过骨架和扩展方法抽象分解执行过程,完成标准的主要逻辑和扩展。大多数时候,我们做xxx平台是这样的:标准化过程,定义变化,形成平台逻辑和业务扩展,完成产品模板。只是说这个模板是网站、扩展点还是其他显示形式。这种标准化的能力也需要长期的培训。
访问者(Visitor):学会放手
访问者模式意味着将元素的访问操作交给访问者,因为访问者往往有不同的访问行为。在工作中,我们通常只能陈述事实。消化这些内容后,每个人都有自己的理解。代码合作也是如此。例如,页面是什么样子的?事实上,它仍然需要归还给业务本身。我们应该专注于提供基本能力。
总结作为开发者,我们对如何写出优雅的代码表示怀疑。由于背后往往是一个复杂的问题领域,优雅的设计往往是局部产生的,整体上很难优雅。作为工人,我们对如何做好表现表示怀疑。因为它往往是综合质量和机会的结合,好的结果往往发生在一个阶段,需要快速和持续的长期增长。然而,如果我们有一些指导原则,我们往往能够理解事务的妥协,做出更合理的设计和更关键的贡献。
作者——闵大为(天未)
作者:古道轻风