浅谈设计模式六大原则

单一职职责:一个类引起他变化的原因仅有一个。(手机什么功能都有,但是都不专业)


开放封闭:对于拓展是开放的对于更改是封闭的。(考研的时候可以投简历,考验计划是封闭的,课余时间是拓展开放的)


依赖倒转:高层模块不应该依赖低层模块两个应该依赖抽;抽象不能依赖细节,细节应该依赖抽象。(1、针对接口编程而不是针对实现编程,无论主板、CPU、内存、硬盘都是在针对接口设计如果针对实现设计,内存就要对应具体的某个品牌的主板,那么换内存就不方便了。2、把访问数据库的代码写成函数,每次做项目是就调用这些函数,这就是高层依赖低层模块,这是不可取的,举个例子:我们做新项目,发现业务逻辑高层模块都是一样的但客户端却希望使用不同的数据库我们当然希望复用这些高层模块,可是他们与低层模块绑在一起无法复用


里氏代换:子类型必须能够替换掉他们的父类型鸟类,鸟可以飞,企鹅不会飞,企鹅不能以父类鸟类的身份出现,企鹅不能继承鸟类


迪米特法则:如果两个不必彼此直接通信,那么这两个类就不应该发生直接的相互作用如果一个类需要调用另一个的某一个方法的话,可以用过第三者转发这个调用小菜第一天到公司不认识IT的人,应该让经理打电话给IT帮小菜装电脑)


合成复用:尽量使用合成聚合,尽量不要使用继承。(手机中的游戏,通讯录,mp3这些都是软件,让他们与手机的耦合分离,而是通过聚合/组合来完成需求,这样减少了耦合性


评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值