首页 > 其他分享 >12.20每日总结

12.20每日总结

时间:2023-12-20 21:13:11浏览次数:32  
标签:总结 对象 创建 12.20 创建对象 模式 软件设计 设计模式 每日

今天复习了软件设计模式

软件设计模式是在软件工程领域中,针对特定问题所提出的一套经过反复验证、被广泛接受并被证明能够解决相应问题的解决方案。这些解决方案通常描述了在特定情境下,如何以最佳的方式组织和结构化代码,以解决软件设计和开发中常见的重复性问题。

设计模式不是一种具体的实现或代码,而是一种描述,它提供了解决问题的模板,并指导开发者如何将这些模板应用到自己的项目中。设计模式的目的在于提高软件的可维护性、扩展性和复用性,同时也有助于更好地理解和沟通代码。

设计模式通常由以下几个要素组成:

  1. 模式名称:用于标识和描述模式。
  2. 问题:说明了该模式所解决的问题或情境。
  3. 解决方案:描述了模式的主要组成部分以及它们之间的关系,通常包括结构、参与者、协作和结果等方面的内容。
  4. 效果:讨论了模式的应用和影响,包括了使用该模式所获得的利弊和潜在的权衡。

总之,软件设计模式提供了一套经验丰富的解决方案,帮助开发者在面对特定问题时更快速、更有效地进行设计和编码,并能够更好地满足软件的质量和性能要求。

根据目的,软件设计模式可以分为三类:创建型模式、结构型模式和行为型模式。

  1. 创建型模式:

    • 目的:创建型模式关注对象的创建过程,旨在解耦对象的创建和使用,提供更灵活的对象创建方式。
    • 功能:包括工厂方法模式、抽象工厂模式、建造者模式、原型模式和单例模式等,这些模式通过不同的方式来创建对象,例如通过一个统一的接口创建对象、通过复杂对象的逐步构建来创建对象、通过复制现有对象来创建新对象,以及确保一个类只有一个实例等。
  2. 结构型模式:

    • 目的:结构型模式关注类和对象的组合,旨在实现类和对象之间的静态结构,以便更好地管理它们的关系。
    • 功能:包括适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式和代理模式等,这些模式通过不同的方式来组织类和对象,例如将不同接口的类进行适配、将抽象和实现分离、通过对象组合形成树形结构、动态地给对象添加功能、提供统一的接口等。
  3. 行为型模式:

    • 目的:行为型模式关注对象之间的通信和任务分配,旨在更好地管理对象之间的交互和职责分配。
    • 功能:包括模板方法模式、策略模式、命令模式、职责链模式、状态模式、观察者模式、中介者模式、备忘录模式、访问者模式和解释器模式等,这些模式通过不同的方式来管理对象之间的通信和任务分配,例如定义算法框架、封装可互换的行为、将请求封装成对象、避免循环依赖、根据状态改变对象行为、定义对象间的一对多依赖关系等。

以上是三类常见的软件设计模式及其目的和功能。在实际应用中,根据具体的需求和场景选择适当的设计模式可以提高软件的灵活性、可维护性和可扩展性。

标签:总结,对象,创建,12.20,创建对象,模式,软件设计,设计模式,每日
From: https://www.cnblogs.com/louwangshayu/p/17917581.html

相关文章

  • 12.20每日总结
    packagefanyi;importjava.awt.*;importjavax.swing.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassGUIextendsJFrameimplementsActionListener{privateJTextFieldoriginalText;privateJTextFieldtra......
  • cocoscreator使用总结
    1.背景图的大小超过父节点的大小,要使背景图不超过父节点,可以在父节点上增加一个mask组件2.layout组件可以设置垂直或水平布局,垂直时可以设从上到下或从下到上,水平布局可以设置从左向右,从右向左,可以方便用来设置文字在右下角之类的3.ScrollView的bar可以移除,view里面......
  • 2023.12.20闲话——对埃及分数的另一种做法(?)
    昨天教室里进来一只母猫,还很可爱的,被同学围着叫学姐(埃及分数大家都很了解,是一个迭代加深搜索的经典题。但是我突发奇想想到一个不用搜索(但是枚举)的做法。很容易可以发现右边的式子通分之后的分母一定是式子左边约分后分母的倍数。于是我们可以枚举右边式子通分后的分母,然后选......
  • 12.20日记
    适配者模式:将接口转化为客户希望的接口,使不兼容的类可以一起工作;(类模式,对象模式);接口(方法或方法的集合)实例:仿生机器人,加密适配器(第三方接口)优点:将目标类与接口类解耦;类的透明性和复用性;扩展性增强,开闭原则;缺点:类适配者(只能适配一个类,不能多;不能为最终类;抽象只能为接口),对象适配者......
  • Kubernetes基础总结
    一、k8s简介kubernetes——容器、分布式架构kubernetes本质是一组服务器集群,可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。主要功能:自我修复弹性伸缩——自动调整运行的容器数量服务发现——自动找依赖负载均衡——自动实现请求的负载均衡版本退回存......
  • 12.20每日总结
    1、常用配置  此方法用来配置访问路由,如下代码配置了将"/hello"映射到HelloController这个控制器,通过以下的配置,http://localhost/hello 将访问HelloController.index()方法,而http://localhost/hello/methodName 将访问到HelloController.methodName()方法。publ......
  • 每日导数13
    越复杂越简单,构造问题已知函数\(f(x)=(\lnx-2x+a)\lnx\)\((1)\)当\(a=2\)时,求\(f(x)\)的单调性\((2)\)若\(f(x)\leq\dfrac{e^x}{x}-x^2+ax-a\),求实数\(a\)的取值范围.解\((1)\)\(a=2,f(x)=(\lnx-2x+2)\lnx=\ln^2x-2x\lnx+2\lnx\)\(f^{\prime}(x)=\dfrac{2\ln......
  • 关于GreatSQL字符集的总结
    关于GreatSQL字符集的总结前言最近的SQL优化工作中经常遇到因字符集或校验规则不一致导致索引使用不了的问题,修改表的字符集或校验规则相当于把表重构,表中数据量大时,处理起来费时费力,希望应用开发者在设计之初时注意到此问题,让后期接手运维的小伙伴少一些负担。GreatSQL的字符集......
  • 2023-2024第一学期第十周助教总结
    第十个教学周已经结束了,现在让我们回顾一下第十周同学们的学习情况,在总结中反思问题,在总结中提高能力。本次总结所属课程2023-2024-1-计算机基础与程序设计本次作业要求2023-2024-1计算机基础与程序设计第十周作业本次作业提交情况2023-2024-1计算机基础与程序设计......
  • 总结
    ErrorError是Throwable的子类,代表错误Error通常是仅靠程序本身无法恢复的严重错误,例如:JVM内存不足或是方法调用过程中栈溢出(java.lang.StackOverflowError栈溢出)、(OutOfMemoryError堆溢出)ExceptionException是Throwable的子类,代表异常,Exception可非为运行时异常(RuntimeExce......