登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
面向对象设计原则总结:SOLID/LKP/DRY/KISS… ...
面向对象设计原则总结:SOLID/LKP/DRY/KISS…
[ 复制链接 ]
常士
2025-6-6 22:06:33
目录
封装变化
针对接口编程,不针对实现编程
多用组合(has-a),少用继承(is-a)
为交互对象之间的松耦合设计而努力
最少知识原则 LKP / 迪米特法则 Law of Demeter
好莱坞原则
SOLID 原则
单一职责原则 SRP
开放关闭原则 OCP
里氏替代原则 LSP
接口隔离原则 ISP
依赖倒置原则 DIP
DRY 原则
KISS 原则
封装变化
找出应用中需要经常变化的部分,把他们独立出来,改变这部分代码不影响其他部分。
这几乎是每个设计模式背后的精神所在,即系统中某部分的改变不影响其他部分。
针对接口编程,不针对实现编程
针对接口编程,关键在于
多态
。变量/成员/形参的声明应该是抽象类/接口类/父类,即所有的代码操作的都是父类/接口类/抽象类(如 Animal),只会在一处会涉及到具体类(如 Cat 或 Dog),那就是在用 new 实例化具体子类对象时,而这部分代码最好也用工厂封装起来,这样甚至可以在运行时动态实例化不同的子类对象。
[table][tr]针对实现编程
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
面向
对象
设计
原则
总结
相关帖子
读大语言模型12读后总结与感想兼导读
Folly Expected 错误处理设计指南
C++ 面向对象
C++ 面向对象
浅拷贝和深拷贝两种不同的对象复制
原型设计实用干货!3款热门AI生成原型图软件横向测评
[OLAP/Doris] Doris 之表设计
Flutter应用架构设计:基于Riverpod的状态管理最佳实践
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
科技
读大语言模型12读后总结与感想兼导读
0
39
百杲憔
2025-09-03
安全
Folly Expected 错误处理设计指南
0
709
吉娅寿
2025-09-07
安全
C++ 面向对象
0
683
僻嘶
2025-09-07
安全
C++ 面向对象
0
370
游康
2025-09-07
业界
浅拷贝和深拷贝两种不同的对象复制
0
20
扎先
2025-09-08
安全
原型设计实用干货!3款热门AI生成原型图软件横向测评
0
938
庾签
2025-09-09
安全
[OLAP/Doris] Doris 之表设计
0
297
事确
2025-09-10
业界
Flutter应用架构设计:基于Riverpod的状态管理最佳实践
0
281
但婆
2025-09-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
常士
2025-6-6 22:06:33
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多