代码之家  ›  专栏  ›  技术社区  ›  Pygmy

WPF-创建一个现实世界应用程序,关注主要目标-而不是偏离轨道

  •  3
  • Pygmy  · 技术社区  · 14 年前

    我知道书名不清楚,请稍等一下。) 我是一个专业的程序员,在工作中做一些很酷的事情(游戏机),但我有一个我想在家里创建的应用程序的想法(几年前;)。

    有了15年的经验,我不想陷入想自己做每件事的陷阱——我想尽可能多地借或偷一些琐碎的东西,这样我就可以专注于我想做的事情。 但我确实想要一个像人们期望的那样工作的应用程序,有着人们习惯的所有铃声和口哨。

    这意味着我需要创建一个应用程序(在我的例子中)类似于工作区界面, 撤消重做系统, 持久性(序列化/加载和保存), 最好是一个VisualStudio类型的可停靠接口,这样用户就可以决定他们想要它是什么样的。 (另一方面,它不是一个编辑——更像是麦克的石英作曲家!)

    知道 所有这些东西,以及如何从头开始写,我只是不想麻烦-我想花时间写我自己的酷东西,而不是写一个撤销系统或对接系统或其他什么。

    所以我想把我的申请拼凑起来,偷我能偷的东西, 专注于我想要创造的东西。

    到目前为止(没有写任何代码),我遇到了这样的事情:

    最后的主要问题是: 如果你正在做一个业余项目,需要半专业,但你只想专注于有趣的东西… 你的方法是什么?

    你能推荐一个框架吗,你能告诉我你以前是怎么做到的吗?

    你是如何避免把时间花在那些与你实际想做的完全无关的事情上的?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Bubblewrap    14 年前

    有了15年的经验,你可能已经知道了大部分……但既然你问我,我还是会提的。;)

    作为一个专业人士(不管是半专业还是非专业人士)的一部分就是做那些无聊的、烦人的部分,并且把它们做得很好。也就是说,在一个爱好项目上做无聊的事情会扼杀它。你会失去兴趣,曾经是一个好主意的现在是你磁盘上的一个废弃项目。

    当图书馆不能提供你想要的东西时,专业来说,你有两个选择:

    1. 缺少的特性是必须具备的:在这种情况下,您必须自己编写至少一些特性。
    2. 缺少的特性不是循环的:在这种情况下,使用库并接受它可能存在的任何缺点。

    然而,由于这是一个业余爱好项目,你必须考虑一件额外的事情:如果你选择选项1,你在整个项目中失去兴趣的风险是什么?

    为了降低风险,我看到了一些选择:

    • 你可以从一个简单的实现开始,它只需要很少的时间,但是可以让你继续做一些有趣的事情。随着项目的成形和接近完成,您可能会更有动力改进“最后一个特性”。
    • 如果可能的话,你也可以在不使用无聊功能的情况下发布这个应用,让用户迫使你去做它。对这样做的立即感激可能会激励你更多。

    至于做不相关的事情……如果它是不相关的,那么你怎么会在一开始就这样做呢?要么很有趣,你也很享受,我觉得没问题。或者它不有趣,也与项目无关。那样的话,就别再这样了。

        2
  •  1
  •   Daniel Auger    14 年前

    我可能会尽可能多地使用现有的框架,以便最大限度地利用花在“有趣”的东西上的时间。在这种情况下,我想说您希望使用现有的轻量级MVVM框架之一,例如:

    Caliburn Micro
    MVVM Light

    这两个框架都很小,并且需要大量的管道来完成MVVM。