Java新特性和项目
软件开发流程
当需求评审会结束后,实际要做的需求一般会经过上述步骤最终交付,其中要产出的文档包括:需求分析文档、概要设计文档、详细设计文档等。
PS:敏捷开发过程中,可能会出现代码先行,完整文档后补的方式,但是在开发前一定要有规划的去做。
常用的设计原则
- 开闭原则(Open Close Principle)
对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。
当一个类已经经过测试发布上线后,需要修改类中的字段时,可以新增一个类继承该类,在继承类的上面增加字段。
- 里氏替换原则(Liskov Substitution Principle)
任何基(父)类可以出现的地方,子类一定可以出现,多使用多态的方式。
- 依赖倒转原则(Dependence Inversion Principle)
尽量多依赖于抽象类或接口而不是具体实现类,对子类具有强制性和规范性。
Person类中增加方法,子类并不会有任何影响,但是如果把Person类修改为抽象类,此时增加抽象方法,子类必须重写抽象方法或子类也变成抽象类。
- 接口隔离原则(Interface Segregation Principle)
尽量多使用小接口而不是大接口,避免接口的污染,降低类之间的耦合度。
一个接口中尽量实现少的方法,避免继承接口的类中影响过多。
- 合成复用原则(Composite Reuse Principle)
尽量多使用合成/聚合的方式,而不是继承的方式。
在当前类希望使用其他类的成员时,把其他类类型的引用声明为该类的成员变量,通过构造方法进行初始化,就可以使用了。
//在B类中想要调用A类中的show方法
public class B {
private A a;
public B(A a){
this.a = a;
}
public void test(){
a.show();
}
}
常用的设计模式
- 基本概念
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
简单来说就是一种用于固定场合的固定套路
- 基本分类
创建型模式:单例设计模式、工厂方法模式、抽象工厂模式…
结构性模式:装饰器模式、代理模式…
行为型模式:模板设计模式…
设计模式详解
- 单例设计模式
主要分为:饿汉式和懒汉式,懒汉式需要对多线程进行同步处理
- 普通工厂模式
- 概念
普通工厂模式就是创建一个工厂类,对实现了同一接口的不同实现类进行的创建。
- 相比new创建对象的优缺点:
优点:扩展性和可维护性更强,尤其在创建大量对象的前提下。
缺点:代码复杂,可读性略差
- 类图结构
- 主要缺点
如果传递的字符串出错,则不能正确创建对象,并且可能出现空指针异常
- 多个工厂模式
- 静态工厂方法模式
- 抽象工厂模式
- 代理模式
个人原因落下了java的学习,最近需要抽空把前面的概念重新整理一下做个笔记,未完待续。。。