javay设计模式学习笔记

本文深入探讨了面向对象编程中的核心原则,包括多用组合而非继承、针对接口编程、分离变化与不变部分等,并详细阐述了类的扩展与修改、依赖抽象而非具体类、避免派生自具体类等最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多用组合,少用继承。

使用组合建立系统具体很大的弹性。


针对接口编程,而不是针对实现编程。

利用接口代表每个行为,行为的每个实现都将实现其中的一个接口。

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


找出程序中会变化的方面,然后将其和固定不变的方面相分离。


类应该对扩展开放,对修改关闭。


要依赖抽象,不要依赖具体类。

变量不可以持有具体类的引用。

不要让类派生自具体类。

不要覆盖基类中已实现的方法。

使用对象组合,以修改的接口包装被适配者。

一个类应该只有一个引起变化的原因

当一个模块或一个类被设计成只支持一组相关的功能时,我们说它具有高内聚;反之,当被设计成支持一组不相关的功能时,我们说它具有低内聚。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值