Java面向对象设计模式
设计模式Design Patterns——可复用面向对象软件的基础设计模式Design pattern是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问设计模式于己于他人于系统都是多赢的设计模式使代码编制真正工程化设计模式是软件工程的基石如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题每种模式在现在中都有相应的原理来与之对应每一个模式描述了一个在我们周围不断重复发生的问题以及该问题的核心解决方案这也是它能被广泛应用的原因。一、设计模式的分类总体来说设计模式分为三大类创建型模式共五种工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式共七种适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式共十一种策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。这11中模式的关系第一类通过父类与子类的关系进行实现。第二类两个类之间。第三类类的状态。第四类通过中间类其实还有两类模型并发型模式和线程池模式。用一个图片来整体描述一下熟记口诀创建型单抽工建原结构型桥代理组合适配器、享元回家装适外观行为型访问者写好策略备忘录、观察模板迭代的状态、命令中介者解释责任链二、设计模式的六大原则1、开闭原则Open Close Principle开闭原则就是说对扩展开放对修改关闭。在程序需要进行拓展的时候不能去修改原有的代码实现一个热插拔的效果。所以一句话概括就是为了使程序的扩展性好易于维护和升级。想要达到这样的效果我们需要使用接口和抽象类后面的具体设计中我们会提到这点。2、里氏代换原则Liskov Substitution Principle里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说任何基类可以出现的地方子类一定可以出现。 LSP是继承复用的基石只有当衍生类可以替换掉基类软件单位的功能不受到影响时基类才能真正被复用而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现所以里氏代换原则是对实现抽象化的具体步骤的规范。—— From Baidu 百科3、依赖倒转原则Dependence Inversion Principle这个是开闭原则的基础具体内容真对接口编程依赖于抽象而不依赖于具体。4、接口隔离原则Interface Segregation Principle这个原则的意思是使用多个隔离的接口比使用单个接口要好。还是一个降低类之间的耦合度的意思从这儿我们看出其实设计模式就是一个软件的设计思想从大型软件架构出发为了升级和维护方便。所以上文中多次出现降低依赖降低耦合。5、迪米特法则最少知道原则Demeter Principle为什么叫最少知道原则就是说一个实体应当尽量少的与其他实体之间发生相互作用使得系统功能模块相对独立。6、合成复用原则Composite Reuse Principle原则是尽量使用合成/聚合的方式而不是使用继承。设计模式基本原则详解http://blog.csdn.net/u011814346/article/details/70255574三、设计模式一创建型模式Java面向对象设计模式一——工厂方法模式Java面向对象设计模式二——抽象工厂模式Java面向对象设计模式三——单例模式Java面向对象设计模式四——建造者模式Java面向对象设计模式五——原型模式二结构型模式Java面向对象设计模式六——适配器模式Java面向对象设计模式七——装饰模式DecoratorJava面向对象设计模式八——代理模式ProxyJava面向对象设计模式九——外观模式FacadeJava面向对象设计模式十——桥接模式BridgeJava面向对象设计模式十一——组合模式CompositeJava面向对象设计模式十二——享元模式Flyweight三行为型模式Java面向对象设计模式十三——策略模式strategyJava面向对象设计模式十四——模板方法模式Template MethodJava面向对象设计模式十五——观察者模式ObserverJava面向对象设计模式十六——迭代子模式IteratorJava面向对象设计模式十七——责任链模式Chain of ResponsibilityJava面向对象设计模式十八——命令模式CommandJava面向对象设计模式十九——备忘录模式MementoJava面向对象设计模式二十——状态模式StateJava面向对象设计模式二十一——访问者模式VisitorJava面向对象设计模式二十二——中介者模式MediatorJava面向对象设计模式二十三——解释器模式Interpreter四、资源代码Java面向对象设计模式代码总结

相关新闻

零训练AI换脸神器:roop-unleashed专业级面部替换终极指南

零训练AI换脸神器:roop-unleashed专业级面部替换终极指南

零训练AI换脸神器:roop-unleashed专业级面部替换终极指南 【免费下载链接】roop-unleashed Evolved Fork of roop with Web Server and lots of additions 项目地址: https://gitcode.com/gh_mirrors/ro/roop-unleashed 想要在几分钟内实现专业级的面部替换效…

2026/10/24 16:15:47 阅读更多 →
django-QueryDict对象

django-QueryDict对象

视图中,用户发送的get与post请求数据,都被封装为QueryDict对象了 认识一下QueryDict对象 该对象类似于一个字典 QueryDict源码 class QueryDict(MultiValueDict):"""A specialized MultiValueDict which represents a query string.A Que…

2026/10/31 6:38:46 阅读更多 →
【AI副业掘金指南】:零基础新手7天启动变现闭环,亲测月入5000+的5个低门槛赛道

【AI副业掘金指南】:零基础新手7天启动变现闭环,亲测月入5000+的5个低门槛赛道

更多请点击: https://codechina.net 第一章:AI副业的本质认知与新手破局心法 AI副业不是“用AI工具接单”的简化劳动,而是以AI为杠杆,重构个人能力交付模式的认知升级过程。其本质在于将领域知识、问题拆解能力与模型调用工程化三…

2026/10/27 23:26:55 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/4 1:35:24 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/3 10:57:27 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/3 11:35:49 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/4 6:23:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/3 10:47:27 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/3 10:57:33 阅读更多 →

日新闻

周新闻

月新闻