本节导读: 阐述“分工/协作”是世界万事万物进化发展的必然选择,也是软件设计首要指导思想,也是软件分层.分模块的理论依据. 对于从事软件行业的人来说,大部分人会经历软件架构设计,想尽可能的将软件设计的灵活.简单.好用,谈到软件设计我们经常会听到一些术语,比如:面向对象设计.设计模式,设计原则.分层思想等.但这些模式.原则起什么作用,为什么需要这些模式.原则,我们可能说是为了软件可阅读性,可维护性,可扩展性,为了程序解耦,为了模块化,为了插件化.但这是理由吗,这个理由能站得住脚吗?隐藏在这些需求背