一些设计原则

高层组件与低层组件
高层组件,是由其低层组件定义其行为的类,
比如:在 Volley 中的网络连接对象的获取:
网络连接对象就是高层组件,而具体如何获得的相关对象,就是低层组件;

好莱坞原则
底层组件,不允许直接调用高层组件,高层组件会决定什么时候调用底层组件;
高对低的方式 是 “别调用我们,我们会调用你”

典型的工厂方法模式,观察者,模板方法模式,就是使用了这个原则;

依赖倒置原则
设计需要一个具体的实现类,是依赖;比如:JDBC获取数据库连接时,返回了 sqlserver的连接对象,这就是依赖
倒置就是倒置思考方式,从产品出发考虑,而不是生成产品所需要的各种具体对象;

要依赖抽象,不要依赖具体类,类似针对接口编程;

** 对比 **
依赖倒置 引导系统设计时应尽量避免使用具体类,而多使用抽象;
好莱坞 引导在创建框架或组件上,让底层组件能够被挂钩进计算中,而且不会让高层组件依赖低层组件;2者的目的都是解耦;

** 单一责任原则**
在迭代器模式中,将迭代的操作,抽到另外一个类中,这样集合类,关注的只是集合本身的维护,而迭代器关注的只是迭代,形成了单一职责,如果要改变,改变各自的就好

一个类应该只有一个引起变化的原因 每个责任都有改变的潜在区域,超过一个责任,意味着超过一个改变的区域,尽量让类保持单一性;

内聚 是用来度量一个类或模块紧密地达到单一目的或责任;
当某一个模块或类被设计成只支持一组相关的功能时,她具有高内聚性;这样的类或模块更容易维护;

你可能感兴趣的:(一些设计原则)