1.分层原则,分层的目的是为了降低软件深度复杂度,软件有了层次,无论是软件的结构,还是逻辑关系都比较清晰。
2模块化原则,模块化的目的是为了降低软件广度复杂度,现在的编程很多是基于对象的编程,把软件模块化后有利于团队的分工和合作,降低软件的难度和开发周期,同时也利于软件的升级和修改。
3.隐藏细节原则,隐藏细节的复杂度,使软件的结构更清晰明了,比如面向对象语言的一大特征-封装,就是隐藏细节的一种实现。
4.依赖倒置原则,降低软件各个模块的耦合度,便于软件的扩展。基于这个原则,我们编程的时候要依赖于抽象,不要依赖于具体,要面向抽象编程,不要面向实现编程。