java设计模式系列1-- 概述
2024-09-06 07:34:32
准备开始写些设计模式的随笔,这是第一篇,概述主要回顾下六大原则
先用轻松和谐的语言描述下这6个原则:
单一职责
每个类甚至每个方法都只要做自己分内的事,不要背别人的锅,也就是功能要分类,代码要解耦
里氏替换
简单点就是子类能够出现的地方,父类一定能出现,设计模式的继承和实现在这里体现的非常多
依赖倒置
高层模块不依赖低层模块的细节,而是依赖抽象(不依赖具体类而依赖于接口),这就是所谓的要面向接口编程
接口隔离
定义接口方法应该合理化,尽量追求简单最小,避免接口臃肿
迪米特法则 | 最少知道
你给我接口,我调用你,其他的不要废话。我们最好保持君子之交,你不要问我的过去,我也不想告诉你我怎么生活的
稍微解释下:一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现、如何复杂都与调用者或者依赖者没关系,
调用者或者依赖者只需要知道他需要的方法即可,其他的一概不关心,例如常见的组合、聚合关系
- 一个词:解耦或降耦
开闭原则
类、模块和函数应该对扩展开放,对修改关闭
然后我们再给出设计时的2个关键词,以下是我总结的:
抽象类或接口:没有接口,没有父类不要谈设计模式
复用类:用的最多的组合、继承、代理方式
下一篇给出23种设计模式分类,坊间流传各种更多超过23种的,我们不关心,其实都是一些分得更细的
最新文章
- SCCM 2012 R2安装部署过程和问题(一)
- mybatis+MySQL--CRUD
- Ubuntu14.04桌面版基本配置
- ThreadLocal的设计与使用(原理篇)
- C++学习3
- maven插件:tomcat插件和jetty插件的区别
- MongoDB的SSL实现分析
- Android 保存联系人,包括部门\职位\传真\地址\照片
- 模板template
- Android开发文摘集合1
- [基础] Python问题
- FFT与多项式、生成函数题目泛做
- Struts2大约Action系统培训6大约action的接受三个参数的方法
- C--控制语句循环例子
- siverlight 后台动态设置图片路径的总结
- ChineseUtils
- JVM 性能调优 -Xmx、-Xms、-Xss
- [ci]jenkins-slave-ssh docker容器化-用户名密码
- python 函数返回值笔记
- Auto Layout on iOS Versions prior to 6.0