OOD(面向对象设计)的原则(solid):
单一相关的法则:
这是一个通用原则。 如:方法的设计,类的设计,数据库接口的设计,网络请求接口的设计等都用到此原则。
单一职责原则(SingleResponsibility Principle):功能要单一。
通过方法功能的单一来实现。
接口隔离原则(Interface Segregation Principle):接口功能细分(接口精简单一)
通过接口定义的细分来实现。
抽象相关的法则:
Liscov替换原则(Liscov Substitution Principle):子类功能不能退化(不要破环继承体系)。
通过重写父类方法时不清空方法体的内容来实现。
开放闭合原则(Open ClosedPrinciple):对修改关闭,对扩展开放。
通过抽象接口实现可扩展。
依赖倒置原则(DependencyInversion Principle):上层下层都依赖抽象(要面向接口编程)
通过依赖底层工具类抽象出的接口来实现。
解耦相关的法则:
迪米特原则(Least Knowledge Principle):最少知识(降低耦合)
通过控制类的访问权限和增加中间类来实现。
面向对象最大的能耐:
抽象,各个层次的抽象。哪里变化抽象哪里。哪里可扩展抽象哪里
抽象的好处:
1.解耦、增加可扩展性
2.统一类型(变量的类型),使用方便
3.抽象更符合人得逻辑使问题简化。
软件模块之间调用分类(从调用方式上分):
概念:
设计模式是被反复使用的软件代码设计经验的总结。是设计方法,不是编程技术
不错的文章:
http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns