硬件也要解耦合

耦合跟内聚是一个硬币的两面,在设计时我们将要低耦合,高内聚,但我们更多的强调的是解开耦合之后,各部分之间相互影响变小。其实还有一个很大的因素,就是解开耦合后的个部分应该是高内聚的,这样我们可以对这部分内聚的职责进行优化。

就像讲到领域类设计和数据库表设计一样,我觉得最好是分开来做,然后使用ORM 技术将它们关联起来,这样两边都可以按照自己的理论和需求做优化,而不是先设计数据库模式,然后反向工程生成类,因为这样做相互成为约束 ,就不太好了。

 

逻辑架构设计时需要解耦合大家都很熟悉了,其实物理资源的使用也要考虑解耦合,

比如我们做一个社交网站,包括了很多的运算和文件分享。这时候我们最好将文件服务器跟主要的AP Server 分开来,因为,

1,AP Server 强调的是并发性

2,文件服务器强调的是网络流量

分开以后,两类Server 的职责更加内聚了,就可以对两部分分别做优化,AP Server 更强调CPU 的性能(多CPU 集群?),而文件服务器主要强调其出口带宽(多网卡?)和改善磁盘IO 的性能。这样更容易定位和解决资源瓶颈,并且资源的利用也能更优化跟合理。

 

 

你可能感兴趣的:(设计模式,orm)