10 2018 档案
摘要:State??? State模式中,我们用类来表示状态。以类来表示状态后,我们就能通过切换类来方便地改变对象的状态。当需要增加新的状态时,如何修改代码这个问题也会很明确。 直接用状态代替硬编码 依赖于状态的处理 ,来执行具体的操作 理清职责 实现功能: 名字=======》》》》》说明 State
阅读全文
摘要:Memento模式? 使用面向对象编程的方式实现撤销功能时,需要事先保存实例的相关状态信息。然后,在撤销时,还需要根据所保存的信息将实例恢复至原来的状态。这个时候你需要使用Memento设计模式。(以及实例实现对状态的保存) 关键字: 1.·Undo(撤销) 2.·Redo(重做) 3.·Histo
阅读全文
摘要:Observer 设计模式? 在Observer模式中, 当观察对象的状态发生变化时,会通知给观察者 。Observer模式适用于根据对象状态进行相应处理的场景。 Observer 并非主动观察,而是被动观察,实际可以又称之为 发布 订阅者 模式 MVC Model、View、Controller,
阅读全文
摘要:Mediator ? Mediator的意思是“仲裁者”“中介者”。一方面,当发生麻烦事情的时候,通知仲裁者;当发生涉及全体组员的事情时,也通知仲裁者。当仲裁者下达指示时,组员会立即执行。团队组员之间不再互相沟通并私自做出决定,而是发生任何事情都向仲裁者报告。另一方面,仲裁者站在整个团队的角度上对组
阅读全文
摘要:Visitor ? 在Visitor模式中,数据结构与处理被分离开来。我们编写一个表示“访问者”的类来访问数据结构中的元素, 并把对各元素的处理交给访问者类。这样,当需要增加新的处理时,我们只需要编写新的访问者,然后让 数据结构可以接受访问者的访问即可。 概括: 数据结构与处理彼此分开,当需要实现新
阅读全文
摘要:Decorator模式? 假如现在有一块蛋糕,如果只涂上奶油,其他什么都不加,就是奶油蛋糕。如果加上草莓,就是草莓奶油蛋糕。如果再加上一块黑色巧克力板,上面用白色巧克力写上姓名,然后插上代表年龄的蜡烛,就变成了一块生日蛋糕 像这样不断地为对象添加装饰的设计模式被称为Decorator模式 简单描述:
阅读全文
摘要:Composite 设计模式? 在计算机的文件系统中,有“文件夹”的概念(在有些操作系统(Linux操作系统)中,也称为“目录”)。文件夹里面既可以放入文件,也可以放入其他文件夹(子文件夹)。在子文件夹中,一样地既可以放入文件,也可以放入子文件夹。可以说,文件夹是形成了一种容器结构、递归结构。 结构
阅读全文
摘要:Facade? 如果是按照RUP+ 的开发模式,随着迭代与增量的进行,软件代码会越来越庞大,各个模块之间的关系会越来越复杂,如何你是初次接受该项目的开发非非常棘手,要理解清楚他们之间的关系,才能继续完成下面的工作。不过与其这么做,不如为这个大型程序准备一个“窗口”。这样,我们就不必单独地关注每个类了
阅读全文
摘要:Strategy 无论什么程序,其目的都是解决问题。而为了解决问题,我们又需要编写特定的算法。使用Strategy模式可以整体地替换算法的实现部分。能够整体地替换算法,能让我们轻松地以不同的算法去解决同一个问题,这种模式就是Strategy模式。(整体替换算法) 理清职责 |名字|说明 |Hand表
阅读全文
摘要:Chain Of Responsibility? 这种情况下,我们可以考虑将多个对象组成一条职责链,然后按照它们在职责链上的顺序一个一个地找出到底应该谁来负责处理。 通俗:她告诉我们应该去“营业窗口”。然后等我们到了“营业窗口”后,又被告知应该去“售后部门”。等我们好不容易赶到了“售后部门”,又被告
阅读全文
摘要:Bridge??? Bridge的意思是“桥梁”。就像在现实世界中,桥梁的功能是将河流的两侧连接起来一样,Bridge模式的作用也是将两样东西连接起来,它们分别是类的功能层次结构和类的实现层次结构。 父类通过声明抽象方法来定义接口(APl):需要使用继承强关联方式,那么必须使用中间层抽象子类来实现方
阅读全文
摘要:Abstract Factory? 抽象工厂的工作是将“抽象零件”组装为“抽象产品”。在template method模式中由与顶级父类提供算法实现,但在Factory Method 中也是定义好framework中具体的Product与Factory,并且由与子类去实现具体的工厂 产品实现,但是抽
阅读全文
摘要:管道流: Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 套接字通道流 非阻塞模式 ServerSocketChannel可以设置成非阻塞模式。在非阻塞模式下,accept() 方法会立刻返回,
阅读全文