几条简单的OO原则

引言:设计模式需要经过不断的思考,一点点在项目实践中积累。几条简单的OO原则我们可以熟记于心,但是我们要在编程实践的过程中,不断的提醒自己,要多遵守这样的原则,这样我们写出来的代码才能足够的健壮,我们的代码水平才会不断的提高。这篇文章主要是为了提醒自己,要时刻的坚持对自己代码的审视。


1. 封装变化

2. 多用组合,少用继承

“有一个”可能比“是一个”更好。当你将两个类结合起来使用,如同本例一般,这就是组合(composition)。这种做法和“继承”不同的地方在于,鸭子的行为不是继承来的,而是和适当的对象“组合”来的。这是一个很重要的技巧


3. 针对接口编程,不针对实现编程

“针对接口编程”真正的意思是“针对超类型(supertype)编程”。

这里所谓的“接口”有多个含义,接口是一个“概念”,也是一种java的interface构造。你可以在不涉及java interface的情况下,“针对接口编程”,关键就在于多态。利用多态,程序可以针对超类型编程,执行时会根据实际类型执行到真正的行为,不会被绑死在超类型的行为上。“针对超类型编程”这句话,可以更明确地说成“变量的声明类型应该是超类型,通常是一个抽象类或者一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量,这也意味着,声明类时不用理会以后执行时的真正对象类型!”


4. 为交互对象之间的松耦合设计而努力

5. 找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。

换句话说,如果每次新的需求一来,都会使某方面的代码发生变化,那么你就可以确定,这部分的代码需要被抽出来,和其他稳定的代码有所区分。

下面是这个原则的另一种思考方式:把会变化的部分取出来并封装起来,以便以后可以轻易地改动或扩充此部分,而不影响不需要变化的其他部分。

这样的概念很简单,几乎是每个设计模式背后的精神所在。所有的模式都提供一套方法让“系统中的某部分不会影响其他部分。”


策略模式

定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。


后面会不断的完善这篇文章。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值