1.简单工厂模式
1.可维护:修改代码时只需要改需要改的那部分、
可复用:有些代码可以在以后的编程中重复使用、
可扩展:此时要加一些功能,很容易扩展、
灵活性好:功能不同时调用不同类代替
2.uml类图 简单工厂模式
3.uml类图画法及各符号含义
2.策略模式
1.uml类图 策略模式
2.策略模式与工厂模式的差别
- 用途不一样
工厂是创建型模式,它的作用就是创建对象;
策略是行为型模式,它的作用是让一个对象在许多行为中选择一种行为;
- 关注点不一样
一个关注对象创建
一个关注行为的封装
- 解决不同的问题
工厂模式是创建型的设计模式,它接受指令,创建出符合要求的实例;它主要解决的是资源的统一分发,将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。主要应用在多数据库选择,类库文件加载等。
策略模式是为了解决的是策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立于使用策略的客户。
3.体会
工厂相当于黑盒子,策略相当于白盒子;
工厂模式客户端获得的是通过工厂创建出来的一个类;策略模式客户端获得的是通过context得到的方法。
如果想将两者结合,要把获得类的过程封装到context类里成为一个个方法,然后从context中调用方法,并将分支语句写成工厂模式写到context方法里。这样代码不仅简洁,而且客户端使用的类更少,代码耦合性更低。
3.单一职责原则
就一个类而言,应该仅有一个引起它变化的原因。
4.开放——封闭原则
是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。
5.依赖倒转原则
1.目的:强内聚、松耦合
2.原则内容:
A.高层模块不应该依赖低层模块,两个都应该依赖抽象
B.抽象不应该依赖细节,细节应该依赖抽象
3.理解
具体讲解可以参考博客:https://blog.csdn.net/yabay2208/article/details/73826719
其实在写数据库课设时,DAO层先定义接口再实现接口,业务层调用时直接使用接口,这就实现了依赖倒转原则
4.里氏替换原则
内容:子类型必须能够替换掉他们的父类型
例如:在面向对象设计中,一个是鸟类,一个是企鹅类,鸟会飞,企鹅不会飞,企鹅不能继承鸟。
里氏替换原则是开放封闭原则和依赖倒转原则的基础
网友评论