架构师训练营第二周总结
什么是框架,什么是工具?
框架规定了你的应用的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特定细节。
框架定义了抽象接口,应用实现者通过实现抽象接口与框架协作,受框架限制。
工具是实现了某一功能,应用实现者主动调用工具实现完成工作。
框架应该要遵循好莱坞原则(不要打电话给我们,我们会联系你)
设计模式的五个原则
开闭原则
开闭原则是核心原则,对扩展开放对修改关闭,不修改原有代码,对模块、类、属性等进行扩展实现的需求变更,这种设计可以说遵循了开闭原则,所以即使对某个类增加了属性不影响到原有功能,也是遵循开闭原则的,这个原则本身还是比较开放的,不能片面的理解。
依赖倒置原则
依赖倒置原则是说高层不应该直接依赖低层,两者通过抽象互相依赖。
例如调用者模块与被调用者模块之间由不同的人共同研发,调用者直接依赖了被调用者的接口,当被调用者发生变更时,调用者也要进行修改,引发了散弹式变更,模块之间耦合度很高,由调用者定义抽象接口,被调用者实现抽象接口,这样被调用者发生变更影响只会发生在被调用者一方,可以实现模块之间解耦,这样的设计遵循了依赖倒置原则。
里氏替换原则
里氏替换原则是说基类可以出现的地方,子类一定可以出现。例如人渴了可以喝水,人通过喝这个函数依赖液体,液体是基类,水或者饮料是液体的子类遵循了里氏替换原则,如果毒药也是液体的子类就破坏了里氏替换原则。
接口隔离原则
客户端不应该依赖它不需要的接口,这个原则是说不要设计大而全的接口,把接口的粒度拆的更细,例如用户接口有登录,详情,编辑,删除等函数,删除是管理员才有权限操作的接口不该开放给客户端调用。
单一职责原则
单一职责是说一个类只有一个引起它变化的原因,当有多个原因引起它变化,那么他的职责是不单一的,但是类职责是否单一往往很难界定,要根据实际业务场景去判断,如果一个类超过两百行代码,或者出现了多个私有方法,应该要考虑对类进行拆分。
总结
设计模式的几个原则,是面向对象设计的指导思想,是程序如何实现高内聚、低耦合、复用性、扩展性的指导思想。
原则是有成本的,要结合实际场景,避免过度设计。
评论