理想的设计特征(代码大全阅读)

本文探讨了高质量设计的11个核心特征,包括最小的复杂度、易于维护、松散耦合、可扩展性、可重用性、高扇入、低扇出、可移植性、精简性、层次性以及标准技术。这些特性有助于创建简洁、高效且易于维护的系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理想的设计特征

        高质量的设计具有很多常见的特征。如果你能实现 所有的这些目标,你的设计就真的非常好了。这些目标之间有时会相互抵触,但这也正是设计中的挑战所在——在一系统相互竞争的目标之中,做出一套最好的折中方案。有些高质量设计的特征也同样是高质量程序的特征,如果靠性和性能等。而有些则只是设计的范畴内的特征。

        下面列出一些设计范畴内的特征:

         1、最小的复杂度(Minimal complexity) 

        正如刚刚说过的,设计的首要目标就是要让复杂度最小。要词句做出“聪明的”设计,因为“聪明的”设计常常都是难以理解的。应该做出简单且易于理解的设计。如果你的设计方案不能让你在专注于程序的一部分时安心地忽视其他部分的话,这一设计就没有什么作用了。

        2、易于维护(Easy of maintenance) 

        易于维护意味着在设计时为做维护工作的程序员着想。请时刻想着这些维护程序员可能 会就你写的代码而提出的问题。把这些程序员当成你的听众。进而设计出能自明的系统来。

        3、松散耦合(loose coupling) 

        松散耦合意味着在设计时让程序的各个组成部分之间关联最小。通过应用类接口中的合理抽象、封装性及信息隐藏等原则,设计出相互关联尽可能最少的类。减少关联也就是减少了集成、测试与维护时的工作量。

        4、可扩展性(extensibility)

        可扩展性就是说你能增强系统的功能而无须破坏其底层结构。你可以改动系统的某一部分而不会影响到其他部分。越是可能发生的改动,越不会给系统造成什么破坏。

        5、可重用性(reusability) 

        可重用性意味着所设计的系统的组成部分能在其它系统中重复使用。

        6、高扇入(high fan-in)

        高扇 入就是说让大量的类使用某个给定的类。这意味着设计出的系统很好的利用了在较低层次上的工具类。

        7、低扇出(low fan-out) 

        低扇出就是说让一个类里少量或适中的使用其他的类。高扇出(超过约7个类)说明一个类使用了大量的其它的类。因此可能变得过于复杂。研究发现,无论考虑某个子程序调用其他子程序的量,还是考虑某个类使用其他类的量,低扇出的原则都是有益的。

        8、可移植性(portability) 

        可移植性是说应该这样设计系统,使它能很方便地移植到其他环境中。

        9、精简性(leanness)

        精简性意味着设计出的系统没有多余的部分。伏尔泰说,一本书的完成,不在它不能再加入任何内容的时候,而在不能再删去任何内容的时候。在软件领域中,这一观点就更正确,因为任何多余的代码也需要 开发、复审和测试,并且当修改了其他代码之后还要重新考虑它们。软件的后续版本也需要和这些多余代码保持向后兼容。要问这个关键的问题:“这虽然简单,但把它加进来之后会损害什么呢?”

        10、层次性(stratification

        层次性意味着尽量保持系统各个分解层的层次性,使你能在做生意的层面上观察系统,并得到某种具有一致性的看法。设计出来的系统应该在做生意层次上观察而不需要进入其他层次。

        11、标准技术(standard techniques

        一个系统所依赖的外来的、古怪的东西越多,别人在第一次想要理解它的时候就越是头疼。要尽量用标准化的、常用 的方法,让整个系统给人一种熟悉的感觉。

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值