
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件开发设计模式我们在前几期的文章中也给大家介绍过很多了,而本文我们就再来简单了解一下,软件设计模式在Java开发中的用法。
1、软件设计模式的概念
在软件工程中,设计模式(designpattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。
设计模式并不是直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。
并非所有的软件模式都是设计模式,设计模式特指软件设计层次上的问题。还有其他非设计模式的模式,如架构模式。同时,算法不能算是一种设计模式,因为算法主要是用来解决计算上的问题,而非设计上的问题。
2、学习设计模式的好处
学习设计模式,可以让我们站在前人的肩膀上思考问题,可以提高我们的思维能力、编程能力、设计能力。
优秀项目的源码一般都会采用大量的设计模式思想,掌握设计模式,在阅读源码时,你就能够更快速地领会框架作者意图,可以大大提高我们源码阅读能力。
学习设计模式,让我们在分析业务需求时能以一种结构化的思维去考虑问题,这样写出来的代码会更简洁,更易于扩展。使程序设计更加标准化、代码编制更加工程化,同时开发效率会大大提高。
3、设计模式的表述格式
表述一个软件设计模式的格式根据作者的不同,划分和名称等都会有所不同。常用的GoF描述模式的格式大致分为以下这些部分:
模式名:每一个模式都有自己的名字,模式的名字使得我们可以讨论我们的设计。
问题:在面向对象的系统设计过程中反复出现的特定场合,它导致我们采用某个模式。
解决方案:上述问题的解决方案,其内容给出了设计的各个组成部分,它们之间的关系、职责划分和协作方式。
别名:一个模式可以有超过一个以上的名称。这些名称应该要在这一节注明。
动机:在哪种情况使用该模式,是本节提供的方案(包括问题与来龙去脉)的责任。
适用性:模式适用于哪些情况、模式的背景等等。
结构:这部分常用类图与交互图阐述此模式。
参与者:这部分提供一份本模式用到的类与对象清单,与它们在设计下扮演的角色。
合作:描述在此模式下,类与对象间的交互。
影响:采用该模式对软件系统其他部分的影响,比如对系统的扩充性、可移植性的影响。影响也包括负面的影响。这部分应描述使用本模式后的结果、副作用、与权衡(trade-off)。
实现:这部分应描述实现该模式、该模式的部分方案、实现该模式的可能技术、或者建议实现模式的方法。
示例:简略描绘出如何以编程语言来使用模式。
已知应用:业界已知的实现示例。
相关模式:这部分包括其他相关模式,以及与其他类似模式的不同。
4、设计模式在Java中的运用
设计模式是对面向对象的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解后的⼀种开发设计指导思想。是系统服务设计中针对常⻅场景的解决⽅案,可以解决功能逻辑开发中遇到的共性问题。
每⼀种设计模式都是解决某⼀类问题的概念模型,所以在实际的使⽤过程中,不要拘泥于某种已经存在的固定代码格式,⽽要根据实际的业务场景做出改变。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。