- 博客(12)
- 资源 (9)
- 收藏
- 关注
原创 设计模式——分发器模式
背景在spring中存在dispatching模式,现在就以这个为前提,设计一下大概的设计模式。实现Event:事件的基类Handler:事件处理的基类EventDispatcher:分发器的处理逻辑,内部维护了事件与处理器的映射关系,通过dispatch方法来进行分发事件...
2020-01-13 20:23:21 4519 1
原创 设计模式——数据传输模式
背景有不同类型的消息不同类型的消息需要被不同的member进行消费实现DataType:数据的类型,包含了一个数据传输的引用,dataBusAbstractDataType:抽象的数据的类型,用来进行设置数据传输的小火车StoppingData:具体的消息类型,停止的消息StartingData:具体的消息类型,开始的消息Member:消费者的接口,用来接收DataType...
2020-01-13 19:54:28 917
原创 设计模式——数据组合模式
背景一封信,有句子、单词、字母进行组成。其中字母汇总成单词,单词汇总成句子。针对该场景,如何进行设计实现方式LetterComposite:底层的数据容器基类,通过一个list的形式包含了整个的数据信息。Word、Sentence、Letter实现了LetterComposite类,进行数据的拼装Letter:该类中通过一个char的形式保存了一个单子中的某个字母。Word...
2020-01-13 19:18:34 558
原创 设计模式——职责链模式
背景有时候,在业务场景中,会遇到职责链的状况。一个链路可以被很多个执行者来进行执行。但是不需要被那个给执行。这个就需要借助职责链来进行实现。实现Request:是请求的报文传递类RequestHandler:是处理请求的抽象类,其中有指向了下一个处理的引用next,handleRequest中的处理逻辑直接由next来进行处理OrcSoldier:具体的执行者,继承了Reque...
2020-01-13 19:00:31 433
原创 设计模式——回调模式
背景有时候在做业务的时候,需要业务成功后,会进行回调函数操作。针对该场景的需求,如何来进行设计呢实现Task:抽象类,两个方法,其中一个给client端使用,进行执行业务操作方法,方法是需要回调的函数。execute()是抽象方法,用来子类进行实现SimpleTask:具体的业务逻辑执行的实现方式Callback:回调函数...
2020-01-13 18:54:10 516
原创 设计模式——访问者模式
背景目前只有两个物体,但是有不同的访问者每个访问者,对这两个物体的了解、认知和访问模式都不一样实现上述类图中,把访问者和物体都单独拆开。每个访问者都有自己的访问方法。当访问方法相同的时候,可以通过组合的形式构造成一个新的访问者如果要新增加访问者的话,直接添加新的类即可有一个不好的地方,如果要新增加组件的话,就需要在每一个访问者中增加一个新的访问方法,违反了"开闭原则"...
2020-01-13 16:42:58 431
原创 设计模式——抽象工厂模式
背景有一个生产王国的工厂,可以生产城堡、国王、军队。国王也有不同的分类军队也有不同的种类城堡也有不同的种类实现方式一KingdomFactory:国王加工的工厂接口ElfKingdomFactory:具体加工国王王国的工厂类,可以生产出来一些列的王国信息Castle:城堡的基类ElfCastle:具体的城堡实现类,实现了Castle其他的类实现细节与上述的功能一致方...
2020-01-13 16:11:30 328
原创 设计模式——汽车部件模型
场景描述1.有汽车、汽车部件的属性,他们都有一些公共的属性,但是属性的值不一样。针对该部分的场景,如何来设计?2.比如公有的属性有价格、类型、汽车的品牌等答案Document:底层公共数据的基类,提供最基本的获取、放置属性的配置信息AbstractDocument:抽象类,实现了基类,提供属性容器集合,属性配置操作的就是该类中的属性容器集合HasPrice:针对价格提供的属性配置类...
2020-01-13 15:44:07 667
NPOI文件,用于.net环境下,读写Excel
2014-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人