
设计模式
文章平均质量分 95
FrozenPenguin
冰冻三尺,非一日之寒;水滴石穿,非一日之功。
展开
-
「设计模式」代理模式
代理模式是一种应用很广泛的结构型设计模式,而且变化很多。在代理模式中引入了一个新的代理对象,代理对象可以在客户端对象和目标对象之间起到中介的作用,去掉客户不能看到的内容和服务或者增添客户需要的额外服务。代理模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式是一种对象结构型模式。Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理代理类在编译期就生成,而动态代理代理类则是在Java运行时动态生成。动态代理又有JDK代理和CGLib代理两种。原创 2023-02-19 11:59:41 · 959 阅读 · 0 评论 -
「设计模式」责任链模式
责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。原创 2022-12-26 07:15:00 · 1990 阅读 · 2 评论 -
「设计模式」享元模式
在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。原创 2022-12-25 07:30:00 · 2249 阅读 · 0 评论 -
「设计模式」适配器模式
GOF是这样给适配器模式(`Adapter`)定义的:将一个类的接口转化成用户需要的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。原创 2022-11-12 07:30:00 · 1641 阅读 · 0 评论 -
「设计模式」继承与组合的区别与联系?为什么要多用组合少用继承?
在面向对象编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承。为什么不推荐使用继承?组合相比继承有哪些优势?如何判断该用组合还是继承?原创 2022-11-10 07:00:00 · 2543 阅读 · 0 评论 -
「设计模式」原型模式
用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。对象的创建非常复杂,可以使用原型模式快捷的创建对象。性能和安全要求比较高。原型模式没有复杂的继承体系,只需要使需要具有拷贝功能的类实现Cloneable接口并重写clone()方法即可。原创 2022-11-07 07:00:00 · 1824 阅读 · 0 评论 -
「设计模式」建造者模式
建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。在建造者模式的结构中引入了一个指挥者类,该类的作用主要有两个:一方面它隔离了客户与生产过程;另一方面它负责控制产品的生成过程。指挥者针对抽象建造者编程,客户端只需要知道具体建造者的类型,即可通过指挥者类调用建造者的相关方法,返回一个完整的产品对象。原创 2022-11-02 13:00:00 · 1828 阅读 · 0 评论 -
「设计模式」工厂模式总结
在本专题的前几篇文章中介绍了、以及。本文将会在前面几篇文章的基础上,总结下三种工厂模式的区别及联系。一方面是回顾下之前的内容,另外一方面是再次加深对工厂模式的理解。原创 2022-11-02 08:30:00 · 1789 阅读 · 0 评论 -
「设计模式」工厂方法模式
工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了面向对象的多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不负责产品类被实例化这种细节,这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。工厂方法模式的主要优点是增加新的产品类时无须修改现有系统,并封装了产品对象的创建细节,系统具有良好的灵活性和可扩展性。原创 2022-10-31 14:00:00 · 1780 阅读 · 0 评论 -
「设计模式」抽象工厂模式
抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式的主要优点是隔离了具体类的生成,使得客户并不需要知道什么被创建,而且每次可以通过具体工厂类创建一个产品族中的多个对象,增加或者替换产品族比较方便,增加新的具体工厂和产品族很方便;主要缺点在于增加新的产品等级结构很复杂,需要修改抽象工厂和所有的具体工厂类,对“开闭原则”的支持呈现倾斜性。原创 2022-11-01 08:30:00 · 2621 阅读 · 1 评论 -
「设计模式」简单工厂模式
工厂类是整个简单工厂模式的关键。包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创建哪个具体类的对象。通过使用工厂类,外界可以从直接创建具体产品对象的尴尬局面摆脱出来,仅仅需要负责“消费”对象就可以了。而不必管这些对象究竟如何创建及如何组织的。明确了各自的职责和权利,有利于整个软件体系结构的优化。但是由于工厂类集中了所有实例的创建逻辑,违反了高内聚责任分配原则,将全部创建逻辑集中到了一个工厂类中;它所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了。原创 2022-10-31 09:00:00 · 1790 阅读 · 0 评论 -
「设计模式」单例模式
单例模式()是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式。在GOF 书保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式一般体现在类声明中,单例的类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。本文中介绍了几种实现单例的方法,主要包括饿汉、懒汉、使用静态内部类、双重校验锁、枚举等。还介绍了如何防止序列化破坏类的单例性。从单例的实现中,我们可以发现,一个简单的单例模式就能涉及到这么多知识。原创 2022-10-27 18:00:00 · 1780 阅读 · 0 评论 -
「设计模式」概述、六大原则、分类
在软件工程中,设计模式(design pattern)是对软件设计中普遍存在的各种问题,所提出的解决方案。设计模式并不是固定的一套代码,而是针对某一特定问题的具体解决思路与方案。可以认为是一种最佳实践,因为他是无数软件开发人员经过长时间的实践总结出来的。提到设计模式不得不提《设计模式:可复用面向对象软件的基础》(Design Patterns – Elements of Reusable Object-Oriented Software) 一书。原创 2022-10-27 01:12:58 · 1754 阅读 · 0 评论