代码之家  ›  专栏  ›  技术社区  ›  Paul Stovell

在应用模式方面,您给予开发人员多少自主权?[关闭]

  •  2
  • Paul Stovell  · 技术社区  · 17 年前

    我与许多公司合作,主要是与架构师/首席开发人员合作,有时直接与开发人员合作。经常出现的一件事是,当架构师规定一个应用程序模式时,他们希望每次都能始终如一地遵循它,几乎没有变化的空间。

    演示模型/M-V-VM

    • 视图
        • FooView.xaml
        • FooView.xaml.cs
        • FooModel-cs
        • BarView.xaml
        • BarView.xaml.cs
        • BarViewModel控件
        • BarModel cs

    作为架构师/团队负责人,您是否希望开发人员每次都像清单一样遵循相同的流程?还是你更愿意把细节留给开发人员?

    2 回复  |  直到 12 年前
        1
  •  3
  •   Pontus Gagge    17 年前

    每次都把细节留给开发人员。一些解决方案可能会变得疯狂;虽然有些多毛,但试图控制细节对所有人来说都是一场失败的游戏。开发人员有头脑:在告诉他们确切的方法之前,先告诉他们你想让他们实现什么。在定义要遵循的参考架构时,请重点关注

    • 提供基础 原则 接下来:要做什么,为什么,以及最重要的后果。
    • 确保有 标准 例如,编码和组件使用应遵循
    • 如果 模式 支持这些原则。您使用演示模型是有原因的,为了实现一组特定的非功能需求和业务目标。告诉他们这些原因,并告诉他们你将以何种方式实现目标。
    • 确保有明确的定义 用于版本控制和测试

    作为架构师,你的工作是确保主要的非功能需求得到识别、优先排序和实现。大多数时候,至少在我工作过的那些公司文化中,当向导和老师比试图为他人思考更有成效。

        2
  •  1
  •   RS Conley    17 年前

    庞图斯的观点很好;问题是演示文稿实际上是应用程序的结构。因此,如果你想添加新功能,真的没有选择。

    我自己的CAD/CAM应用程序在这方面非常严格。通过创建操纵模型的新Command对象来添加功能。您需要使用通过memento模式开发的对象来保存初始状态,然后保存更改后的状态,以便正确实现撤消/重做。

    然后,您必须将Command对象放入使用被动视图开发的视图中的一个事件处理结构中。当然,在选择算法、支持对象和命令对象中的函数时,我们的开发人员有相当大的自由裁量权。

    如果你谈论的是一家公司开发的新应用程序,那么选择各种模式通常是有充分理由的。在我们公司,我们必须在几十年内维护我们的应用程序,因此设计适应性非常重要。我们不能在开发中使用这个月的味道,因为它会在5年、10年、15年后回来困扰我们。我们的许多应用程序都是使用被动视图和通过定义良好的接口连接的多层设计的。当微软决定砍掉VB6,转而使用VB.NET时,这也起到了作用

    然后有时只是经理追随月份的味道。在这种情况下,你需要试着教育经理,为什么你提出的方法从长远来看对公司更有利。否则,你需要了解公司为什么选择这样的标准。

    推荐文章