Java编程
RainMcCom
菜鸟Android程序猿
展开
-
菜鸟学设计模式----组合模式
组合模式又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式用树形结构来组合对象,用来表示部分以及整体的层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。介绍意图:将对象组合成树形结构比表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 主要解决:它在树形结构原创 2017-09-13 11:31:35 · 318 阅读 · 0 评论 -
菜鸟学设计模式----迭代器模式
迭代器模式是java和.NET环境中一种非常常用的设计模式,属于行为型模式。这种模式用来顺序访问集合对象的元素,而不用关心其底层表示。介绍意图:提供一个方法可以顺序访问聚合对象的元素,而不用暴露该对象的内部表示。 解决:不同的方式遍历整个集合对象 何时使用:遍历一个聚合对象 如何解决:把元素之间游走的职责交给迭代器,而不是聚合对象 关键代码:hasNext()、Next()接口 应用实例:原创 2017-09-20 11:28:57 · 445 阅读 · 0 评论 -
菜鸟学设计模式----外观模式
外观模式属于结构型模式,通过向客户端提供一个可以访问的系统的接口来隐藏系统的复杂性。在这种模式下,会涉及到一个单一的类,用于提供客户端请求的方法和对系统现有类方法的委托调用。介绍意图:通过为子系统的一组接口提供一个一致的界面,外观模式定义了一个高级接口,这个接口使子系统更加容易使用。 主要解决:降低访问复杂系统内部子系统的复杂度,简化客户端与其之间的接口。 何时使用:1.客户端不需要知道系统内部原创 2017-09-12 11:26:19 · 332 阅读 · 0 评论 -
菜鸟学设计模式----原型模式
原型模式是用来创建重复的对象,同时又能保证性能的一种建造者模式,它提供了一种创建对象的最佳方式。 这种模式使用了一个原型接口,该接口用于创建当前对象的克隆。当创建对象消耗太大的时候,使用这种模式。。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。介绍意图:用原型实例指定创建对象的种类,并且通过拷贝这原创 2017-09-11 20:22:24 · 298 阅读 · 0 评论 -
菜鸟学设计模式----代理模式
代理模式中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,创建有现有对象的对象,以便向外界提供接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系原创 2017-09-19 17:09:31 · 497 阅读 · 0 评论 -
菜鸟学设计模式----过滤器模式
过滤器模式或者说是标准模式是一种设计模式,它允许开发人员使用不同标准去过滤同一组对象,通过逻辑运算,以解耦的方式将它们连接起来。这种类型的设计模式属于结构型模式,它结合 多个标准来获取单一标准。实现创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。CriteriaPatternDemo,我们的演示类使用 Criteria 对象,基于各种标准原创 2017-09-19 16:07:39 · 624 阅读 · 0 评论 -
菜鸟学设计模式----责任链模式
这种设计模式属于行为型模式,它为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。在 这种模式中,通常一个接收者中都包含另一个接收者的引用,如果一个对象不能处理该请求,那么该请求将会传给下一个接收者,以此类推。介绍意图:避免请求的发送者和接收者耦合在一起。让多个对象可以接收请求,将这些请求连接成一条链,并沿着这条链传递请求,直到有对象可以处理它为止。 主要解决:原创 2017-09-11 15:40:09 · 257 阅读 · 0 评论 -
菜鸟学设计模式----观察者模式
当对象存在一对多的关系时,则可以使用观察者模式。最常见的就是当一个对象被修改时,通知它的依赖对象。观察者模式属于行为型模式。整体介绍意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变的时候,所有依赖它的对象都得到通知并自动更新。 主要解决:一个对象状态改变需要通知其他对象的问题,而且需要考虑到易用和低耦合,保证高度的协作。 何时使用:当一个目标对象状态发生改变的时候,通过广播通知,原创 2017-09-11 12:35:57 · 358 阅读 · 0 评论 -
设计模式----总览
首先需要了解一下软件设计原则: 1.单一职责原则 2.开闭原则 3.里氏代换原则 4.依赖倒转原则 5.接口隔离原则 6.合成复用原则 7.迪米特原则设计模式大致有23种,主要分为三类:结构型模式、创建型模式、行为型模式。结构型模式用于类或对象的组合,主要有: 1.适配器模式 2.桥接模式 3.组合模式 4.装饰模式 5.外观模式 6.享元模式 7.代理模式创建者模式主要原创 2017-09-11 09:51:32 · 296 阅读 · 0 评论 -
菜鸟学设计模式----桥接模式
桥接用于把抽象化和实例化解耦,使得两者可以独立变化。这种类型的设计模式属于结构型模式,通过提供抽象化和实现化之间的桥接结构,来实现解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。介绍 意图:将抽象部分与实现部分相分离,使它们可以独立的变化。 主要解决:在有多种变化的情况下,类继承可能会造成类爆炸的问题,扩展不是很灵活 何时使原创 2017-09-14 16:06:19 · 261 阅读 · 0 评论 -
Java8 Lambda表达式例子
例1 用lambda表达式实现Runnable 例2 使用Java 8 lambda表达式进行事件处理 例3 使用lambda表达式对列表进行迭代 例4 使用lambda表达式和函数式接口Predicate 例5 如何在Lambda表达式中使用Predicate 例6 Java 8中使用lambda表达式的Map和Reduce示例例7 通过过滤创建一个String列表 例8 对列表的每个原创 2017-09-05 18:43:28 · 324 阅读 · 0 评论 -
菜鸟学设计模式----状态模式
在状态模式中,类的行为是基于它的状态改变的,这种类型的模式属于行为型模式。在状态模式中,创建各种状态的对象和一个行为随着状态对象改变而改变的context对象。介绍意图:允许对象内部状态发送变化的时候改变行为,对象看起来好像修改了它的类 主要解决:对象的行为依赖于它的状态,根据状态的变化而改变它的相关行为。 何时使用:代码中包含很多与对象状态有关的条件语句 如何解决:将具体的抽象类抽象出来原创 2017-09-13 16:12:49 · 352 阅读 · 0 评论 -
菜鸟学设计模式----装饰器模式
装饰器模式允许向一个现有对象中添加新的功能,而又不改变它的结构,它属于结构型模式,作为现有类的一个包装。这种模式创建了一个包装类,用来包装原有类,在保证原有类的方法签名的完整的前提下,提供了额外的功能。介绍意图:动态地给现有对象增添一些额外的职责。就增加功能这点而言,装饰器模式比生成子类更加灵活。 主要解决:一般我们为了拓展一个类经常使用继承的方式,由于继承为类引入静态特征,随着新增的功能的增加,原创 2017-09-12 16:21:07 · 267 阅读 · 0 评论