想知道程序员应该怎么知道擅长设计Java/J2EE技术。如何成为技术设计专家
回答
首先良好的设计超越您选择用来实现设计的任何语言。良好的软件设计是关于管理复杂性以创建易于理解的代码,这些代码是健壮且可维护的。关键点是抽象的最高水平,你可以
- 工作在任何时候
- 包封物和隐藏复杂的地区
- 了解什么价值存在明确和一贯的命名
在我的想法良好的设计是通过理解良好实践和创造性的结合来实现的。根据我的经验,设计中最难的部分是将问题的正确功能分解成更小的子问题。理解实现这种分解的过程几乎总是一个迭代过程而非有条不紊的自顶向下过程,这一点很重要。你必须准备修改或扔掉以前的设计分解,直到你拥有可维护的东西。
这是很难谈好设计,更何况特别
- 对象的两件事情面向Proctices
- 设计模式
虽然有些语言是面向对象的,有些是纯粹的基于对象的和其他的,如C,是在基于对象的设计变得广泛传播之前创建的,这些原则和实践可以用于任何语言。我写的大部分代码都是用C语言编写的,我尽可能使用类似对象的实践。
设计模式为常见问题提供了很好的解决方案并给出了这些解决方案的名称。我发现设计模式的研究是理解优秀设计可以实现的关键。
好说+1 – annakata 2009-07-02 08:30:06
为了开始理解设计,您应该首先编写一些玩具项目。写下它们,偶尔退后一步,反思,然后重写。起泡,冲洗并重复。
在设计中犯错误是了解下一次应该如何改善的最好方法。当然,您应该了解一些方法学,其中最重要的是哪些模式和信息隐藏。除此之外,还有各种各样的软件架构资源/书籍。比如:软件架构实践(第2版)(软件工程SEI系列)作者:Len Bass,Paul Clements和Rick Kazman
试着仔细看看信息的来源。 (小的)例子中,利率应该是Account或AccountType中的一个字段。
最后但并非最不重要的是,尝试参与有关设计的讨论。与同行辩论,但也挑选更有经验的设计师/建筑师的大脑。
并保持关键!尽管软件设计比建筑设计更具有明确的优点和缺点,但品味/偏好和修辞仍然是交易的一部分。
我推荐几件事情:对一些设计模式
- 阅读。最初的四人帮帮助OO设计。如果你正在编写企业应用程序,我不能推荐Martin Fowlers Enterprise Application Architecture书太多。
模式为您提供描述设计的基本词语,既可以为自己也可以为其他人。只要阅读不同的方法,就可以看到新的可能性。如果您在寻找J2EE,像Inversion of Control这样的模式是必不可少的。
- 缠住约松耦合
的良好设计的要领是防止紧耦合。任何可以用来将代码移动到松散耦合层的东西都将有助于您的整体设计。
- 阅读其他人的代码。在您的技术领域研究一些高调的开源代码。
只是研究其他人的代码很快给你一个漂亮的外观设计相比,混乱Big Ball Of Mud方法的感觉。
- 1. 如何成为像AWS,Openstack等云技术专家?
- 2. 如何成为MSIL专家?
- 3. URL设计技术
- 4. 技术设计文档
- 5. 算法设计技术
- 6. 使用eyed3设置“专辑艺术家”?
- 7. 如何成为WPF的专家?
- 8. 如何成为Oracle dba专家?
- 9. Java Socket技术作家
- 10. 如何发展技能说话/写/做技术专题演讲
- 11. 关于技术GUI设计的资源
- 12. 设计和服务器端技术
- 13. IOS Notification实现设计技术
- 14. 需要插件驱动设计技术?
- 15. 如何决定他使用的技术的设计模式?
- 16. iPhone获取所有专辑/艺术家
- 17. MPMedia按艺术家加载专辑
- 18. 成为MySQL专家的最快方法?
- 19. 要求和技术设计作为一项努力?
- 20. 挖掘技术计数器
- 21. 审计跟踪技术
- 22. 集成fiddler与Flex技术
- 23. URL生成技术与PHP
- 24. 如何查询给定的艺术家的所有专辑
- 25. 如何获取iOS中的音乐的艺术家,专辑等
- 26. 如何获得每位艺术家的最高评分专辑?
- 27. 你如何成为编程语言的专家?
- 28. 如何成为安全领域的专家?
- 29. 如何将Java bean属性设置为专家属性?
- 30. 如何选择Ajax技术
这可能是wiki吗? – willcodejavaforfood 2009-07-02 08:31:04