![](https://img-blog.csdnimg.cn/20190905110322353.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
程铭程铭你快成名
这个作者很懒,什么都没留下…
展开
-
Spring中涉及的设计模式总结
原文地址:https://blog.csdn.net/caoxiaohong1005/article/details/800396561.简单工厂实现方式:BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。实质:由一个工厂类根据传入...转载 2020-03-16 15:09:44 · 10373 阅读 · 0 评论 -
枚举策略代替项目中大片的if-else
之前看过很多用策略模式代替if-else的文章,看过之后受到启发,于是我也在项目中应用了策略模式,但是我用的是枚举策略替换掉了项目中大片的if-else。并且在Effective Java 第二版的第30条中推荐使用枚举策略模式,所以用一个小demo记录一下枚举策略模式。不使用策略模式如果不使用策略模式,那么代码就会像如下一样,看起来很臃肿。 public String handle(Ord...原创 2019-11-07 11:03:56 · 3033 阅读 · 0 评论 -
设计模式总结
从18年10月份开始学习设计模式,到19年1月底才看完,这篇博文主要总结这个过程中我的收获和一些思考。我的收获从刚开始接触Java就听说过设计模式,但是由于自己的能力有限,又觉得设计模式是一个很高大上的东西,所以一直都没有碰,这次有幸系统的学习了一遍设计模式。在开发之前开始思考如何设计更合理了。可能在这之前并没有想过太多的设计相关的东西,只是想着快速实现并且不出现bug,并没有想着怎样设计...原创 2019-01-28 14:41:26 · 3122 阅读 · 0 评论 -
设计模式之装饰模式(Decorator Pattern)
装饰模式定义官方定义:Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending functionally. 动态地给一个对象添加一些...原创 2019-01-25 13:22:07 · 3159 阅读 · 2 评论 -
设计模式之观察者模式(Observer Pattern)
观察者模式定义Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. 定义对象之间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到...原创 2019-01-24 11:55:16 · 3183 阅读 · 0 评论 -
设计模式之迭代器模式(Iterator Pattern)
迭代器模式定义相比大家对迭代器并不陌生,我们常用的List,Map都有这个概念。迭代器模式的定义为:Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation. 提供一种方法访问一个容器对象中各个元素,而不是需要暴露...原创 2018-12-26 10:31:14 · 3183 阅读 · 0 评论 -
设计模式之适配器模式(Adapter Pattern)
适配器模式定义Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces. 将一个类的接口变换成客户端所期待的另一种接口,从...原创 2018-12-19 14:49:30 · 3039 阅读 · 0 评论 -
设计模式之策略模式(Strategy Pattern)
策略模式定义策略模式是一种比较简单的设计模式,也叫做政策模式,策略模式的核心就是面向对象的继承和多态机制。Define a family of algorithms, encapsulate each one, and make them interchangeable. 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式通用类图策略模式的三个角色:Context封...原创 2018-12-18 16:25:38 · 4701 阅读 · 2 评论 -
设计模式之责任链模式(Chain of Responsibility Pattern)
责任链模式定义责任链的重点是在“链”上,由一条链去处理相似的请求在链中决定谁来处理这个请求,并返回相应的结果。其定义为:Avoid coupling the sender of a request to its receiver by giving more than one project a chance to handle the request. Chain the receiving...原创 2018-12-17 14:39:35 · 3123 阅读 · 0 评论 -
设计模式之命令模式(Command Pattern)
命令模式定义命令模式是一个高内聚的模式。Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations. 将一个请求封装成一个对象,从而让你使用不...原创 2018-12-09 14:31:20 · 3149 阅读 · 0 评论 -
设计模式之中介者模式(Mediator Pattern)
中介者模式定义Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their inte...原创 2018-12-03 15:48:28 · 3170 阅读 · 0 评论 -
设计模式之原型模式(Prototype Pattern)
原型模式在我们平时工作中还是很常用的,而且使用起来非常简单,其核心是一个clone方法。原型模式的定义Specify the kinds of objects to create using a prototypical instance,and create new objects by copying this prototype. 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建...原创 2018-11-15 16:59:05 · 3795 阅读 · 0 评论 -
JDK中使用的设计模式
这也是篇老文了,相信很多人也看过。前面那些废话就不翻译了,直接切入正题吧~结构型模式:适配器模式:用来把一个接口转化成另一个接口。java.util.Arrays#asList()javax.swing.JTable(TableModel)java.io.InputStreamReader(InputStream)java.io.OutputStreamWriter(OutputSt...转载 2018-11-14 17:22:07 · 1308 阅读 · 0 评论 -
设计模式之代理模式(Proxy Pattern)
代理模式也叫做委托模式,在我们平时工作中其实很常用,静态代理、动态代理等。代理模式的定义Provide a surrogate of placeholder for another object to control access to it. 为其他对象提供一种代理以控制对这个对象的访问。也可以理解为给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用。代理模式通用类图Sub...原创 2018-11-08 11:41:52 · 3540 阅读 · 0 评论 -
设计模式之建造者模式(Builder Pattern)
建造者模式也叫做生成器模式,在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。建造者模式定义Separate the construction of a complex object from its representation so that same construction process can create different representations. 将...原创 2018-11-06 16:01:24 · 3641 阅读 · 0 评论 -
设计模式之模板方法模式(Template Method Pattern)
其实模板方法在我们平时工作使用的非常频繁,但是没有学习过设计模式的小伙伴可能不是很清楚模板方法的定义是什么,即使是自己一直在用。模板方法模式定义Define the skeleton of an operation,deferring some steps to subclasses. Template Method lets subclasses redefine certain step...原创 2018-11-01 15:19:35 · 3267 阅读 · 0 评论 -
设计模式之抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式定义Provide an interface for creating families of related or dependent objects without specifying their concrete classes. 为创建一组相关或相互依赖的对象提供一个接口,而且无须指定他们的具体类。抽象工厂模式和工厂模式的区别抽象工厂模式是针对的多个产品等级结...原创 2018-10-30 15:17:54 · 4591 阅读 · 0 评论 -
设计模式之工厂模式(Factory Pattern)
工厂模式在我们平时工作中还是非常常用的一种模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式的定义Define an interface for creating an object, but let subclasses decide which class to instantiate....原创 2018-10-25 12:12:43 · 4635 阅读 · 0 评论 -
设计模式之单例模式(Singleton Pattern)
单例模式的定义Ensure a class has only one instance, and provide a global point of access to it。确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个唯一实例。单例模式的通用类图单例模式通用代码/** * 单例模式通用代码 * * @author cm_wang * */p...原创 2018-10-23 17:59:06 · 4626 阅读 · 0 评论 -
JAVA设计模式之六大设计原则
在程序设计中,我们通常要遵循以下六大原则:单一职责原则官方定义:就一个类(接口、结构体、方法等等)而言,有且仅有一个引起它变化的原因。个人理解:通俗的来讲做一件事就是专注做一件事,不可以三心二意。任务对象只是专注于一项职责,不去承担太多的责任。当任务对象的职责发生变化时,不会对其他的对象产生影响。遵循单一职责原的优点:可以大大降低耦合度。降低类的复杂度。提高类的...原创 2018-10-16 16:26:43 · 4907 阅读 · 2 评论 -
软件开发中常见的开发模型
软件开发模型是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。...原创 2018-04-26 17:04:13 · 6860 阅读 · 0 评论