OOAD&泛型&反射
OOAD
Object Oriented Analysis Design,面向对象的分析和设计!
一个好的程序,一定要满足:高内聚,低耦合
需要遵循:7大设计原则,23个设计模式
设计原则:推翻“三座大山“,建立了新中国
设计模式:游击战, 地道战, 歼灭战…… 具体的业务场景下,有具体的解决方案!
7大设计原则:
-
单一原则 一个类只干一件事,一个方法只干一件事
-
开闭原则 对新的需求功能扩展是开放的,但是在扩展时对老功能的修改是关闭的;
-
里氏替换原则 龙生龙,凤生凤,老鼠儿子会打洞!凡是父类出现的地方,子类都可以进行替换!要求:继承时,不要重写父类已经实现过的行为,但可以扩展!
-
接口隔离原则 也叫接口最小化原则,要求:设计接口时,尽可能的要越小越好,功能越单一越好!
-
依赖导致原则
-
迪米特法则 最少知道原则,妈妈说:不要和陌生人说话!一个类尽可能的只和必须的类进行交互,其它的类统统不用!
-
组合&聚合原则
泛型
泛型:是用来在方法或属性中,规范不同类型的数据一种技术!
public interface BaseDao<T,Serializable> { int save(T obj); int update(T obj); List<T> findAll(); T getById(Serializable id); } public class StudentDaoImpl implements BaseDao<Student,Long>{ @Override public int save(Student obj) { return 0; } @Override public int update(Student obj) { return 0; } @Override public List<Student> findAll() { return null; } @Override public Student getById(Long id) { return null; } }
泛型分类:
<> 在类上,就叫泛型类! <> 在接口上,就叫泛型接口! <> 在方法上,就叫泛型方法! eg: public class MathUtil { public static <T> String concat(T t1, T t2) { return "" + t1 + t2; } }
泛型擦除:在编译期,JVM使用真实类,替换泛型符号的过程!
反射
反射:是所有框架的底层!
反射:在程序运行期间,反向的去操作 加载期间