软件架构被高估,清晰和简单的设计被低估
2022年11月26日
原文:https://blog.pragmaticengineer.com/software-architecture-is-overrated/
(1)设计一个计算机系统的目标应该是简单性 。
系统越简单,理解起来就越简单,找到问题就越简单,实现它就越简单。描述的语言越清晰,设计就越容易理解。
干净的设计类似于干净的代码:它易于阅读且易于理解。
(2)如何编写干净的代码?
编写干净代码有很多好方法。但是,你很少会听到有人建议,在代码中应用"四人帮"的设计模式。
干净代码的特征是:单一责任,明确命名和易于理解的约定。这些原则同样适用于清晰的架构。
(3)设计模式的作用是什么?
设计模式可以为你提供如何改进代码或架构的想法。了解常见的设计模式是一件好事,它们有助于缩短与他人的讨论,让别人以与你相同的方式谈论一件事。
但是,设计模式不是目标,它们不能替代系统设计的简单性。在设计系统时,你可能会发现自己意外地应用了一个众所周知的设计模式,这是一件好事。但你不应该为了采用一种或多种设计模式,而将其用作锤子,到处寻找钉子来使用它。
我承认,虽然我花了很多时间阅读和理解"四人帮"的《设计模式》,但它们对我成为一名更好的程序员的影响,要小于我从其他工程师那里得到的反馈。
作为一名工程师,你的目标应该是更多地解决问题,并通过它们进行学习,而不是选择闪亮的设计模式。