设计模式

软件设计的目标

.可扩展性

.灵活性

.可插入性

.可重复性

软件复用的好处

.较高的生产效率

.较高的软件质量

.恰当的复用可提高软件的可维护性

软件复用的几种方式

.代码粘贴

.算法复用

.数据结构复用

软件设计的一般原则

.开-闭原则

对扩张开放,对修改关闭

.里氏代换原则

在任何基类出现的地方,子类一定可以出现

.依赖倒转原则

依赖于抽象,不依赖于实现

.借口隔离原则

应当为客户提供尽可能小的单独接口,而不是大的总接口

.组合/聚合复用原则

尽量使用组合/聚合而不是使用继承达到代码复用

.迪米特法则

一个软件实体应尽可能小地于其他实体发生相互作用.

什么是模式

人们在自己的环境中不断的发现问题和寻求问题解决方案的时候,发现有些问题和解决方案的时候,发现有些问题和解决方案不断变换面孔出现,但在这些不同面孔后面,有着共同的本质,这些共同的本质就是模式.

 

Java中的接口

为什么使用Java接口而不是继承

保证代码的可插入性

多重继承

什么时候使用继承

1)子类是超类的一个特殊种类,而不是超类的一个角色,也就是要区分"Has-A"与"IS -A"两种关系的不同.

Has-A关系应当使用聚合关系描述,而只有IS-A关系才符合继承关系

 

2) 永远不会出现需要将子类换成另一个类的子类的情况.如果设计师不是很肯定一个类会不会在将来变成理你个子类的话,就不应该将这个类设计成当前这个超类的子类

3)子类具有扩展超类的责任,而不是具有置换掉(override)或注销掉(Nullify)超类的责任.如果子类需要大量地置换掉超类的行为,那么这个子类不应当成为这个超类的子类

4)只有在分类学角度上有意义时,才可以使用继承,不要从工具类继承

 

设计模式的分类:(设计模式23种中重要的十几种模式我已经加粗显示出来了)

1。创建型模式,共五种:工厂方法模式抽象工厂模式单例模式、建造者模式、原型模式

2。结构型模式,共七种:适配器模式装饰器模式代理模式外观模式、桥接模式、组合模式享元模式

3.行为型模式,共11中:策略模式模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

 

 

接下来着重介绍加粗的设计模式

设计模式(创建型)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值