23种设计模式以及设计原则(一)

最近看了一本形象生动的关于设计模式的书,写下笔记,记录收获总结。


设计原则:

1.单一职责原则(SRP):
就一个类而言,应该仅有一个引起他变化的原因。
2.开放封闭原则:
软件实体(类、模块、方法等)应该是可扩展的,但又不可修改。应该尽早的对长须中呈现出频发变化的那些部分做出抽象,开发工作不久就应尽快查明可能发生变化的地方,时间越长,调用的越多,正确的抽象就越困难,遵循这个原则可以带来可维护性、可扩展、可复用以及灵活性好,同时也要拒绝不成熟的抽象。
3.依赖倒转原则:
针对接口编程,而非针对实现编程。(如果有一部分的)
4.李氏代换原则:
子类型必须能替换掉他们的父类型。只有这样,父类才能被真正的复用,而子类只需在父类的基础上增加新行为。


设计模式:
1.简单的工厂模式:
例如计算器实例,写一个运算类,加减乘除全都继承这个类,建立一个符号工厂类进行判断,根据对应的符号new出不同的对象。
2.策略模式:
例如商场促销实例,定义了策略类,不同的打折方法分别实现这个类(即算法家族),让他们之间可以相互替换,算法的变化不会影响使用算法的类,结合简单的工厂模式使得根据当前情况的不同创建不同的算法,从而降低了一个类的耦合。
3.装饰者模式:
例如QQ秀实例,动态地给一个对象添加一些额外的职责,就增加功能来说,装饰着模式比生成子类更灵活。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值