我所认识的设计模式

简介: 我所认识的设计模式

首先给出的明确定义是:软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。是通过总结重复错误或其他问题归纳出的一种模式。

也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用,其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。设计模式一般是有固定模板的,我们可以在此基础上设计出我们所需要的模式,其次还给我们提供了设计目标。总的来说我们可以通过提供的设计模式来设计我们的我们的代码,利用好设计模式这种方式,我们将会使代码的书写,功能的实现更加优化完整,正确率更高。

设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。

在此之前,已有人们归纳出了常用的153个设计模式,每一个设计模式都包括了三方面(前提条件,目标问题,解决方案)。

其中这些设计模式有被分为三类:

创作型模式:单例模式,工厂模式,原型模式,建造者模式等

结构型模式:适配器模式,桥接模式,组合模式,装饰模式等

行为型模式:命令模式,迭代模式,解释模式,备忘录模式,中介者模式等

在我的理解上:从模式名我们就可以大抵了解这些模式分类,创作型是给了各种与创作相关的设计模式,如工厂创作,建造这中;结构型就是你所实现的功能是具有一种结构,如某些建筑物模式,物品的结构型模式。而行为模式就是人类发出的某种行为而总结出来的,如命令模式,解释,中介者,充当某一种人物行为。

比如详细的说一些创作型模式:

工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式,而不需要指定创建对象的确切类。单例模式是一种创建型模式,它保证一个类只有一个实例,并提供一个访问该实例的全局点。适配器模式是一种结构型模式,它允许将不兼容对象包装在适配器中,以便它们可以在系统中协同工作。装饰器模式是一种结构型模式,它允许向对象添加行为而不影响其原始类别。代理模式是一种结构型模式,它允许通过使用代理对象来控制对其他对象的访问。

每一种模式都有其特点及其作用。

在者就是设计模式的优点:

首先因为他是众多专家以及技术人员共同认为且总结出来的,我们大多数人都能理解和交流。其次模式设计可由我们所需要的优化,修改,很灵活。其次是对面向对象这个过程的深入理解,坐后边是能调高我们的创作效率了。

以上就是我所认识到的设计模式


相关文章
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
设计模式 算法 开发者
软件复用问题之区分「不重复」和「复用」,如何解决
「不重复」和「复用」之间有何区别软件复用问题之区分「不重复」和「复用」,如何解决
|
机器学习/深度学习 算法 自动驾驶
探索机器学习在图像识别中的应用
【4月更文挑战第7天】 随着人工智能技术的飞速发展,机器学习已成为推动创新的关键驱动力之一。特别是在图像识别领域,机器学习技术的应用不仅极大提升了系统的准确度和效率,而且扩展了其应用范围。本文将深入探讨机器学习在图像识别中的关键技术和方法,包括深度学习、卷积神经网络(CNN)以及特征提取等,旨在为读者提供一个关于如何利用这些技术解决实际问题的全面视角。
|
存储 JSON JavaScript
Vue中如何进行表单地区选择与级联联动
Vue中如何进行表单地区选择与级联联动
|
存储 Java 编译器
【C++】类与对象 II 【深入浅出 万字详解】(下)
【C++】类与对象 II 【深入浅出 万字详解】(上)
148 0
|
Java 程序员
八位阿里大牛耗时三年总结出Java面试复盘手册!带你实现逆风翻盘
都说程序员工资高、待遇好,改变无数程序员职业生涯的金三银四已来,你的小目标是什么 30K、40K,还是 16 新的 20K?作为一名 Java 开发工程师,当能力可以满足公司业务需求时,拿到超预期的奖励 Offer 并不算难。然而,提升 Java 核心能力最快、最有效,短期内升职加薪的方法,到底是什么?
|
安全 Java
某A系电商App x-sign签名分析
某A系电商App x-sign签名分析
某A系电商App x-sign签名分析
用flex布局局部滚动页面
用flex布局局部滚动页面
498 0
用flex布局局部滚动页面
|
Linux 开发工具 git
CentOS 安装,更新 Git
查看 Linux 发行版名称和版本号,使用 yum 命令安装 git,默认安装的 Git 版本为 1.x 版本,而不是最新2.x。
902 0
CentOS 安装,更新 Git