JDK各版本新特性及设计模式简要

一、常用设计原则

1.软件开发流程

需求分析文档、概要设计文档、详细设计文档、编码和测试、安装和调试、维护和升级

2.设计原则

  • 开闭原则(Open Close Principle)
    对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。
  • 里氏代换原则(Liskov Substitution Principle)
    任何基类可以出现的地方,子类一定可以出现,多使用多态的方式。
  • 依赖倒转原则(Dependence Inversion Principle)
    尽量多依赖于抽象类或接口而不是具体实现类,对子类具有强制性和规范性
  • 接口隔离原则(Interface Segregation Principle)
    尽量多使用小接口而不是大接口,避免接口的污染,降低类之间耦合度。
  • 迪米特法则(最少知道原则)(Demeter Principle)
    一个实体应当尽量少与其他实体之间发生相互作用,使系统功能模块相对独立。
  • 高内聚,低耦合。
  • 合成复用原则(Composite Reuse Principle)
    尽量多使用合成/聚合的方式,而不是继承的方式。

3.设计模式分类

创建型模式 - 单例设计模式(饿汉式、懒汉式)、工厂方法模式、抽象工厂模式
结构型模式 - 装饰器模式、代理模式
行为型模式 - 模板设计模式

二、新特性

1.Java 8

1.函数式接口
2.Lambda表达式
3.方法引用
4.功能增强的Stream接口

2.Java 9

1.模块化:模块就是代码和数据的封装体,模块的代码被组织成多个包,每个包中包含Java类和接口,模块的数据则包括资源文件和其他静态信息。
2.菱形操作符(钻石操作符 <>)
3.Java9的List、Set和Map集合中增加了静态工厂方法of实现不可变实例的创建。不可变体现在无法添加、修改和删除它们的元素。
不允许添加null元素对象。
4.InputStream类中提供了transferTo方法实现将数据直接传输到OutputStream中。

3.Java 10

1.局部变量类型推断(使用var声明)
值得注意的点:

  • var不是关键字,是java中一个保留的类型名称
  • Java10可以使用var作为局部变量类型推断标识符,此符号仅适用于局部变量,增强for循环的索引,以及传统for循环的本地变量。
  • 它不能使用于方法形式参数,构造函数形式参数,方法返回类型,字段,catch形式参数或任何其他类型的变量声明。

4.Java 11

  • 简化了编译操作
  • String类新增以下几种方法
  • boolean isBlank() 判断字符串是否为空或只包含空白代码点
  • Optional map(Function<? super T,? extends U>mapper)根据参数指定规则的结果来得到Optional类型的对象
  • T orElse(T other)若该值存在就返回,否则返回other的数值。

阶段总结

项目心得

虽然项目基本算是熬夜一晚上写完了,但还是暴露了很多的问题,时间紧凑是一方面,但通过一次综合性较强的练习,足以暴露出很多问题,自己虽然也另外简单划分了一下项目的整体结构,也额外尝试增加很多细节,但问题是随着项目的不断完善,对IO流一些更细节的知识点掌握明显有问题,导致了整个工期大多数时间是在调试IO流方面的BUG;其次,在整个过程中,对自己JAVA SE阶段的各部分知识点的掌握程度有了更清晰的认识,IO流还需要多多加强;最后就是因为个人的时间问题,在整个项目中,还是没有尽可能多的去用到SE阶段所学的知识,设计模式有涉及,但自己概念掌握的不够牢固,用的也不是特别熟练,项目还有待完善,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值