开闭原则
Open-Close Principle(OCP)
Softeware entities should be open for extension,but closed for modification.
里氏代换原则
Liskov Substitution Principle(LSP)
如果对每一个类为T1的对象o1,都有类为T2的对象o2,使得 以T1定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,则类T2是类T1的子类。
关于父子类的关系,《墨子 小取》有喻:
“白马,马也。乘白马,乘马也。骊马,马也。乘骊马,乘马也。获,人也。
爱获,爱人也。臧,人也。爱臧,爱人也。此乃是而然者也。
rideHorse(Horse horse);->rideHorse(WhiteHorse whitehorse);
反之则不成立
获之亲,人也。获事其亲,非事人也。其弟,美人也。爱弟,非爱美人也。
车,木也。乘车,非乘木也。船,木也。乘船,非乘木也。盗.人也。多盗,非多
人也。无盗,非无人也。
依赖倒转原则
Dependence Inversion Principle(DIP)
Abstractions should noet depend upon details.
Details should depend upon abstractions.
接口隔离原则
Interface Segregation Principle(ISP)
使用多个专门的接口比使用一个单一的大接口要好
合成/聚合复用原则
Composite/Aggregate Reuse Principle(CARP)
合成是值的聚合
聚合是引用的聚合
迪米特法则
Law of Demeter(LoD)
or:Least Knowledge Principle(LKP)
某人->朋友->朋友的朋友
常使民无知无欲;鸡犬之声相闻,民至老死,不相往来
分享到:
相关推荐
学生读书笔记共享系统的设计与实现代码-java-springboot-基于springboot的学生读书笔记共享系统项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,MyBatisPlus等 2、系统的...
学生读书笔记共享-学生读书笔记共享系统的设计与实现代码-java-springboot-基于springboot的学生读书笔记共享系统项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,...
Java模式是面向对象设计中的一种最佳实践集合,它通过总结并提炼出在软件设计中反复出现的问题和解决方案,为开发者提供了可复用的设计方案。在Java编程中,遵循这些模式可以提高代码的可读性、可维护性和可扩展性。...
java-springboot-基于springboot的学生读书笔记共享系统项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,MyBatisPlus等 2、系统的实现 用户信息 图片素材 视频素材 摘 ...
在《JAVA与模式读书笔记》中,我们探讨的是Java编程语言与设计模式的结合应用,这对于深入理解面向对象编程和提升软件开发能力至关重要。设计模式是软件工程中的最佳实践,它们是解决常见问题的模板,可以提高代码的...
通过阅读《Java游戏编程读书笔记》这本书,你可以深入了解这些概念并学习如何将它们应用到实际项目中。文档中的内容可能涵盖了Java游戏开发的基本原理、代码示例、最佳实践以及常见问题的解决方案。通过深入学习和...
《HeadFirst设计模式学习笔记1--策略模式Demo》 在软件工程中,设计模式是一种解决常见问题的标准方案,它提供了一种在特定情况下组织代码的模板。策略模式是设计模式中的一种行为模式,它允许在运行时选择算法或...
从管理员、用户的功能要求出发,读书笔记共享平台系统中的功能模块主要是实现管理员;首页、个人中心、用户管理、笔记分享管理、个人笔记管理、管理员管理、交流互动、系统管理。用户:首页、个人中心、笔记分享管理...
基于springboot的学生读书笔记共享系统项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,MyBatisPlus等 2、系统的实现 用户信息 图片素材 视频素材 摘 要 I 目 录 III 第...
"Effective Java读书笔记" Effective Java是一本关于Java编程语言的经典...Effective Java读书笔记总结了Java语言的发展历程、静态工厂方法的应用、构造器模式的使用等重要知识点,为Java开发者提供了有价值的参考。
《JavaFx本质论》读书笔记1(1-2章)主要涵盖了JavaFX的基础知识和核心概念,这本书旨在深入解析JavaFX这一强大的GUI(图形用户界面)开发框架。JavaFX是Oracle公司推出的一种用于构建桌面应用、移动应用以及云计算...
《java并发编程实战》读书笔记-第3章-对象的共享,脑图形式,使用xmind8制作 包括同步容器类、并发容器类、阻塞队列和生产者消费者模式、阻塞和中断方法、同步工具类。最后是构建高效且可伸缩的结果缓存
以上知识点只是《Java完美经典》读书笔记中的一部分,完整的笔记还包括对这些概念的深入探讨,例如设计模式、并发编程、数据库操作、XML处理等。通过阅读并实践这些笔记,Java开发者能够不断巩固和提高自己的编程...
【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...
1. **基础语法**:Java的基础语法,如数据类型(整型、浮点型、字符型、布尔型),变量声明,运算符,流程控制(if语句、switch语句、循环语句),以及方法的定义与调用。 2. **面向对象编程**:封装、继承、多态是...
在Java并发编程中,数据的封装与访问控制、线程安全性的考量、同步机制的使用是重要的基础概念和技巧。以下是从给出的文件内容中提取出的详细知识点: 1. 数据封装与访问控制:确保内部私有数据不被轻易访问,并且...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的经验总结,能够提升代码的可读性、可维护性和复用性...通过阅读笔记和运行源码,你可以更好地掌握这些经典的设计模式,提升你的Java编程能力。
从《Java 2 核心技术 卷 1:基础知识》的读书笔记中,我们可以提取出以下几个关键知识点: 1. **强类型语言**:Java要求所有变量在使用前必须声明其类型,这确保了程序的稳定性和类型安全。每个程序都必须包含至少...