`

重构图书馆惊魂夜(理解模型,关注设计)

阅读更多

前一篇Post因为绘图的关系导致理解上有所误区,所以重构一下,重新更新了图形,让我们重新来审视一下这个被多次讨论的设计。

首先是图书馆的用例:

其实用例的情况大家都很清楚了,简而概之就是用户在图书馆的书架上找到自己想要的书,然后向管理员出示借书卡后借到想要的书。

用例图。

image

这是一个很简单的用例,我没有分析完所有的用例以及子用例,这里到此就可以打住了,我们可以在以后的迭代过程当中来继续完善

然后根据需求我们来建立业务规则表:

规则一:借书需要出示身份证明以及借书卡   (来源:图书馆馆规)

规则二:每个用户一张借书卡 (来源:图书馆规定)

规则三:每张借书卡可以借N本书 (来源:图书馆规定)

然后得到领域模型:

image

这个模型也是一个很粗略的模型,不过足够我们开始下面的分析了。这个模型是动态的,在我们分析的过程中还可能发生变化。我们不要害怕变化,优秀的开发过程和设计模型都是应对变化的丰富实践经验的结晶。我们可以通过这个领域模型清楚的看到概念类的属性以及概念类之间的关系。注意,概念类不是我们在编程的过程中所写的类,当然对于很多简单的模型来说,领域里的概念类可以直接变成程序里的类,但是并不表示其之间可以画上等号,我们还需要继续分析系统中对象的行为。我们可以通过时序图和通信图来表示这些行为的过程。

我们在之前所界定的系统边界之内分析系统的操作,然后定义系统操作的操作契约。最后我们综合用例分析,领域模型和操作契约的分析,最终得到了系统的设计。

这里我们没有看到任何的代码,也不涉及任何贫血充血的争论,我们先建立一个粗略的模型,然后在实现的过程中不断的迭代优化它,最终实现我们的软件,不会出现过度设计,也不会出现一上手就是代码的盲目。

由于时间关系,LP吹促觉觉,故下文明日再说。

分享到:
评论

相关推荐

    图书管理系统设计重构

    《图书管理系统设计重构》 本项目是一个基于Java的图书管理系统,旨在实现图书的日常管理功能,包括用户登录、注册、借阅与归还等操作。在设计过程中,开发者运用了三种设计模式,使得代码结构更加清晰,易于维护。...

    论文研究-一种一维可重构计算系统模型的设计 .pdf

    总结来说,一维可重构计算系统模型的设计,是对于在可重构计算领域中,如何实现软硬件的高效结合、提供快速适应不同计算需求的计算核心、优化系统性能以及简化系统设计复杂度的一次深入探索。该模型的提出及其仿真...

    基于gurobi求解配电网网络重构的混合整数线性规划模型源码.zip

    基于gurobi求解配电网网络重构的混合整数线性规划模型源码.zip基于gurobi求解配电网网络重构的混合整数线性规划模型源码.zip基于gurobi求解配电网网络重构的混合整数线性规划模型源码.zip基于gurobi求解配电网网络...

    重构改善既有代码的设计PPT课件

    重构是软件开发过程中的一个重要环节,它关注于改善已有代码的设计,以提高代码的可读性和维护性,同时保持原有功能不变。通过重构,程序员能够更有效地管理代码,提升开发效率,减少错误,并促进团队成员之间的沟通...

    基于动态模式的CAD_CAE模型重构软件设计及实现.pdf

    软件的通用性和扩展性意味着它可以在多学科CAD/CAE模型重构领域广泛使用,比如在航空航天、汽车制造、电子产品设计等多个领域中,为工程师提供强大的工具以应对模型转换和数据传递的难题。 软件设计的出发点是解决...

    重构-改善既有代码的设计

    《重构-改善既有代码的设计》是一本专注于Java编程领域的经典著作,主要探讨了如何通过重构技术来提升既有代码的质量和可维护性。重构是软件开发过程中一个至关重要的环节,它旨在不改变代码外在行为的前提下,改进...

    重构 改善既有代码的设计 中文高清完整版pdf

    《重构:改善既有代码的设计》是一本非常实用且有价值的书籍,它不仅适合于初级开发者学习重构的基础知识,也适用于高级工程师深入研究重构的技术细节。通过遵循书中的指导原则和实践案例,可以帮助开发者有效地提高...

    重构_重构_改善既有代码_

    总之,《重构:改善既有代码设计》是一本深入探讨代码优化的艺术和科学的书籍,对于任何希望提升自身编码技能,打造高质量软件的IT从业者来说,都是宝贵的资源。通过学习和实践书中的原则和技巧,我们可以不断提升...

    重构改善既有代码的设计第2版.pdf

    《重构改善既有代码的设计》第2版不仅是一本关于技术的书籍,它还传递了一种软件开发的理念。通过持续的重构,可以保持代码库的活力,让软件更加健壮,适应快速变化的需求。本书为软件工程师提供了一套行之有效的...

    重构 _改善既有代码的设计(中文版) pdf

    《重构:改善既有代码的设计》是一本由Martin Fowler撰写的经典软件工程书籍,其核心思想是通过一系列小的重构步骤来改善和优化既有代码的质量。在软件开发领域中,重构是一个重要的技术,它可以帮助开发人员提升...

    重构 改善既有代码的设计 pdf 中文

    Martin Fowler所著的《重构:改善既有代码的设计》是一本深入探讨重构技术的经典著作,它与《设计模式》齐名,为软件开发人员提供了超过70种行之有效的重构方法。本书的目标是教会读者如何识别代码中需要重构的部分...

    基于逆向工程的CAD模型重构.pdf

    在工业设计和制造领域中,逆向工程被广泛应用于构建产品的数学模型,从而为后续分析和制造提供支持。这一技术的理念已经变得越来越重要,因为它不仅能够用于产品复制,还能够促进产品创新和优化。 在进行CAD模型...

    重构_改善既有代码的设计 Java

    《重构:改善既有代码的设计》不仅是一本针对Java程序员的实用指南,也适用于所有关注代码质量的软件开发者。本书所传授的重构技巧,能够帮助开发者逐步打造更加健壮和易于维护的系统,从而提升软件的竞争力和生命力...

    重构----改善既有代码的设计(完整中文扫描版PDF)

    一个技巧熟练的系统程序员,即使面对的是一个设计糟糕、难以理解的代码,也可以通过重构方法,将其改造成设计良好、易于维护的代码。重构可以应用于各种软件项目中,无论是在规模小的项目还是大型系统中,重构都能...

    英文版(重构改善既有代码的设计)

    总之,《重构:改善既有代码的设计》不仅是一本面向对象编程领域的经典之作,也是每个软件开发者都应该阅读的重要参考书籍。通过学习这本书中的理论和实践技巧,开发者可以更好地理解和应用重构技术,从而写出更高...

    重构-改善既有代码的设计(良心资源)

    总之,《重构-改善既有代码的设计》是一本值得所有程序员深入研究的书籍,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。通过实际应用书中的方法和理念,你可以提高你的代码质量,降低维护成本,提升团队...

Global site tag (gtag.js) - Google Analytics