gpt4 book ai didi

architecture - 将顺序内聚转变为功能内聚?

转载 作者:行者123 更新时间:2023-12-04 04:00:44 25 4
gpt4 key购买 nike

this website 中所述,

A module with (only) procedural cohesion is one supporting different and possibly unrelated activities, in which control passes from one activity to the next. Page-Jones gives an example of a module (whose name might be something like, ``Prepare for Holiday Meal:''


  • 清洁前一餐的餐具
  • 准备烤火鸡
  • 调用电话
  • 洗澡
  • 切菜
  • 设置表

  • 现在我的问题是,如果这些事件中的每一个(即打电话)都被提取到它们自己的方法中,但仍然以相同的顺序调用
    IE
        private void PrepareForHolidayMeal()
    {
    CleanUtensilsfromPreviousMeal();
    PrepareTurkeyforRoasting();
    ...
    SetTable();
    }

    这种方法仍然是程序凝聚力的一个例子吗?还是它在功能上具有凝聚力,因为它支持执行一项与问题相关的任务的事件,在这种情况下是准备一顿饭?

    最佳答案

    有充分的理由在您的示例中省略了电话。这是不相关的任务之一。如果您假设电话仍在“...”中,那么整个事情将再次失去凝聚力。否则,您可能会争辩说所有其他事件都是准备一顿饭所必需的。这可能会引发讨论“CleanUtensilsfromPreviousMeal”是否在此处实际上有效,因为此事件可能仅在之前没有清理的情况下是必需的。 StackExchange 问题不适合这样的讨论......所以我们需要一个更清晰的例子来让多个软件架构师达成一致的决定。否则,有些人的争论可能与其他人不同。

    关于architecture - 将顺序内聚转变为功能内聚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12905070/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com