首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自顶向下重构/自下而上重构的定义

自顶向下重构/自下而上重构的定义
EN

Software Engineering用户
提问于 2016-04-14 08:55:17
回答 2查看 872关注 0票数 2

在重构的上下文中,您有时会遇到“自下而上的方法”这个术语,这在重构时首先更改最小的移动部分是有意义的。

然而,我从来没有听说过“自上而下重构”,也找不到关于这个主题的任何资源,所以我在问自己它是否真的存在或者它是否是矛盾的。

是否有自下而上重构与自顶向下重构的正式定义?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2016-04-16 15:39:49

我认为自上而下的行为与其说是重构,不如说是一种重新设计。

根据我的经验,重构通常是对现有代码的重新组织。这是一个低规模的重新设计。因此,您得到的复杂功能,已经满足了他们的建议,但不够灵活,难以重复使用。你把它的功能分解成小的子进程。最好的方法是,正如你所指出的那样,自下而上。

但是,如果您正面临这些特性的深刻变化,并且这些更改对整个项目都有重要影响,或者至少对其业务的很大一部分产生了影响。换句话说,如果变化的深度足以使您重新设计代码满足业务需求的方式,那么最好的方法就是从上面看到aproach。从全球问题到解决问题的具体方法。自上而下。就像他们应该是什么样的人。不谈细节。一旦战略和新的设计被设置,你可以再次与自下而上的战略全面归档的核心细节。

从内部(b-u)或外部(t-d)或交替的观点看问题,直到解决为止。

我用自上而下的方法来做原型或者模拟。在这个阶段,我设定了高线。然后,在开发阶段,我将详细介绍。将任务委托给初级学生也很容易。

票数 2
EN

Software Engineering用户

发布于 2016-04-16 22:53:17

自上而下是指你把整个问题分解成越来越小的问题,直到你找到了很多实际的实现细节。

自下而上是指您创建了许多小的、详细的构建块,这些积木通常很有用,并且可以组装在一起来解决越来越大的问题。

自上而下对于分析和理解如何将一个大型问题分解为责任区域并生成一段软件的总体结构非常有用。一个缺点是,它倾向于在底层生成特定于任务的代码,而这些代码通常很难在其他应用程序中重用。

另一方面,自下而上通常是库构建人员采用的方法。它完全集中于生产尽可能通用和可重用的小型组件,在其特定的实用领域内。

当重新设计整个系统时,两种方法都很重要。最初,自顶向下方法将为您提供一个特定于应用程序的逻辑结构。一旦实现了这一目标,就可以应用自下而上的方法来解决低级别的具体问题。这可能意味着找到与解决较低层次的问题非常匹配的相关库,或者启动基于内部库的解决方案。

关键是实际的实现代码应该尽可能可重用。这样,创建连续的应用程序就应该变得越来越便宜。为了达到这个目的,自顶向下的方法只能带你到目前为止,在这一点上,自下而上的方法用一些对当前任务不那么具体但对一般任务更有用的东西来填补空白。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/315706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档