架构者,骨骼也。架构好,则生命力强,可扩展性强,可维护性高。正所谓根深苗正。
一个应用的底层架构不扎实,不精简,不彻底,那么随着时间的推移,应用的扩展性将变得愈发困难,可读性会越来越差,健壮性也会因此受到影响。
那么,什么样的架构才算是优秀的架构呢?行业里有没有规范呢?答案是肯定的,有。我非常喜欢 “规范” 这两个字。规范不像法律,规范更像是道德。也就是说,“规范”不具有强制性。不守规范就像是得了慢性病,这种诟病随着时间的推移才会越来越清晰地显现出来。
软件设计的几大原则。有说六的,有说八的,有说十的。我们暂且选最少的,即使是六大原则,真的能遵守好也是难能可贵的。
<1>单一职责原则。 这个原则是相对于“类”而言的,一个“类”的职责越单一,可重用性越好。高内聚,低耦合,精而简。
<2>开放封闭原则。这个原则强调对扩展开放,对修改关闭。这是针对接口和类而言的,接口尽可能地不修改,允许扩展的是具体的实现类。
<3>里氏替换原则。这没什么好说的,继承关系云云。
<4>接口隔离法则。总结起来感觉又回到了单一职责原则。
<5>依赖倒置原则
<6>合成/聚合复用原则。尽量使用合成/聚合来实现逻辑复用,而不是继承。优先考虑聚合而不是继承。
上述几大原则就是软件架构上的一些基础规范。在具体的项目中,有选择地遵守这些规范对整个应用的走向具有较为深远的意义。