2009-07-02 70 views

回答

3

首先良好的设计超越您选择用来实现设计的任何语言。良好的软件设计是关于管理复杂性以创建易于理解的代码,这些代码是健壮且可维护的。关键点是抽象的最高水平,你可以

  1. 工作在任何时候
  2. 包封物和隐藏复杂的地区
  3. 了解什么价值存在明确和一贯的命名

在我的想法良好的设计是通过理解良好实践和创造性的结合来实现的。根据我的经验,设计中最难的部分是将问题的正确功能分解成更小的子问题。理解实现这种分解的过程几乎总是一个迭代过程而非有条不紊的自顶向下过程,这一点很重要。你必须准备修改或扔掉以前的设计分解,直到你拥有可维护的东西。

这是很难谈好设计,更何况特别

  1. 对象的两件事情面向Proctices
  2. 设计模式

虽然有些语言是面向对象的,有些是纯粹的基于对象的和其他的,如C,是在基于对象的设计变得广泛传播之前创建的,这些原则和实践可以用于任何语言。我写的大部分代码都是用C语言编写的,我尽可能使用类似对象的实践。

设计模式为常见问题提供了很好的解决方案并给出了这些解决方案的名称。我发现设计模式的研究是理解优秀设计可以实现的关键。

+0

好说+1 – annakata 2009-07-02 08:30:06

0

为了开始理解设计,您应该首先编写一些玩具项目。写下它们,偶尔退后一步,反思,然后重写。起泡,冲洗并重复。

在设计中犯错误是了解下一次应该如何改善的最好方法。当然,您应该了解一些方法学,其中最重要的是哪些模式和信息隐藏。除此之外,还有各种各样的软件架构资源/书籍。比如:软件架构实践(第2版)(软件工程SEI系列)作者:Len Bass,Paul Clements和Rick Kazman

试着仔细看看信息的来源。 (小的)例子中,利率应该是Account或AccountType中的一个字段。

最后但并非最不重要的是,尝试参与有关设计的讨论。与同行辩论,但也挑选更有经验的设计师/建筑师的大脑。

并保持关键!尽管软件设计比建筑设计更具有明确的优点和缺点,但品味/偏好和修辞仍然是交易的一部分。

0

我推荐几件事情:对一些设计模式

模式为您提供描述设计的基本词语,既可以为自己也可以为其他人。只要阅读不同的方法,就可以看到新的可能性。如果您在寻找J2EE,像Inversion of Control这样的模式是必不可少的。

  • 缠住约松耦合

的良好设计的要领是防止紧耦合。任何可以用来将代码移动到松散耦合层的东西都将有助于您的整体设计。

  • 阅读其他人的代码。在您的技术领域研究一些高调的开源代码。

只是研究其他人的代码很快给你一个漂亮的外观设计相比,混乱Big Ball Of Mud方法的感觉。