Week3 总结

用户头像
王志祥
关注
发布于: 2020 年 06 月 24 日
Week3总结

设计原则指导框架开发,尽量贴近和负责设计原则开发出来的框架,扩展性和移植性都比较好;及时需求变更也可方便扩展。而在实际框架开发过程中,软件开发界的大牛们根据遇到的很多问题,总结出来一些经常遇到的问题的通用解决方案,称之为模式即设计模式。

1、简单工厂模式

工厂内new具体的类和工厂内通过反射机制创建类可以实现工厂的功能,弊端是没法满足开闭原则,且反射机制有类型安全问题。两种方式当需要新增实现方式需要修改代码。

第三种是通过配置文件的方式指定特定方式,没指定则赋予默认;能满足开闭原则,但是还会存在类型安全问题;

另一种方式是Spring的依赖注入方式;

2、单例模式:只存在一个类的实例

单例模式实现的关键:静态类、构造函数private访问控制,限制类外构造、获取单例的实例public访问控制,需要考虑多线程安全使用synchronized。

3、适配器模式:使用类中的方法功能,面向接口编程,使用适配器模式包装类中各种方法;

方法有两种:基于类的适配器:继承类实现接口

基于对象的适配器:包含类成员变量实现接口

建议使用对象的适配器,因为基于类的适配器会违背里氏替换原则。

4、模板方法模式:基类中模板方法定义流程,流程中方法的实现有子类提供;

5、组合模式:接口中定义一个方法,实现类的对象形成树形结构,非叶子节点有children列表;有顶层节点调用接口方法则可以产生树形遍历所有对象的接口方法;

要点:树形结构遍历、非叶子节点有子节点列表成员、非叶子接口方法遍历子节点接口方法

6、装饰模式:

特点:构造函数参数是接口的不同实现,装饰者和被装饰者通过构造函数传递;

第二次课程老师讲解JUnit框架中使用的模式,单个模式看能理解,写也能够写;但巧妙的是这几种模式结合在一起,实现了JUnit中很多比较灵活的功能。我觉得不管是平时开发代码还是开发框架,还是要多思考和实践各种模式的灵活和结合使用。



用户头像

王志祥

关注

还未添加个人签名 2017.10.19 加入

还未添加个人简介

评论

发布
暂无评论
Week3总结