使用设计模式的根本原因是适应变化,提高代码复用率,使软件具有可维护性和可扩展性.并且设计的时候要遵循以下几个原则:单一职责原则,开放封闭原则,里氏替换原则,依赖倒置原则,接口隔离原则,合成复用原则和迪米特原则.