没有合适的资源?快使用搜索试试~ 我知道了~
首页设计模式入门:单一职责与开闭原则详解
"Day14_设计模式课堂笔记主要讨论了设计模式作为代码设计经验的提炼,帮助开发者解决在编码过程中遇到的问题和提供通用的解决方案。笔记强调了设计模式学习中的普遍挑战,即缺乏实践经验,使得理解和应用模式可能较为困难。 首先,笔记介绍了单一职责原则,这是面向对象编程的一个基本原则,它提倡每个模块或类应只负责一个单一的功能或职责。例如,在编写Servlet时,如果将显示用户的逻辑与处理请求的逻辑混合,不符合单一职责原则,应该在专门的视图层来负责展示。同样,在项目开发中,业务逻辑如用户管理、商品管理应该集中在各自的模块中,保持模块间的清晰边界。 其次,开闭原则强调的是系统对于扩展的开放性和修改的封闭性。设计模式鼓励通过接口或抽象类来定义服务的行为,如`GoodsService`接口,这样可以允许不同的实现(如`GoodsServiceImpl`和`GoodsServiceImpl2`),而无需修改已有的代码。当需要添加新的查询策略时,只需要创建新的实现类,不会影响现有代码的结构,体现了对扩展的开放和对修改的封闭。 最后,里氏替换原则是关于子类与父类关系的规则,子类必须能够替换掉其父类而不会影响程序的正确性。在上面的例子中,`GoodsServiceImpl2`虽然实现了`GoodsService`接口,但它的行为(使用集合操作)不同于`GoodsServiceImpl`(使用数据库查询),这就是违反了里氏替换原则,因为子类行为的改变可能导致预期结果的不一致。 通过学习这些设计模式,开发者可以遵循这些原则来提高代码的可维护性、复用性和灵活性。然而,完全掌握并不意味着100%的应用,而是逐渐积累经验和理解,以便在实际项目中灵活运用,不断优化代码结构。"
资源推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
CN_zhanlang
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)