万象云档 本次搜索耗时 1.852 秒,为您找到 82 个相关结果.
  • 8.6 通用集合库

    8.6 通用集合库 8.6 通用集合库 通过本章的学习,大家已知道标准Java库提供了一些特别有用的集合,但距完整意义的集合尚远。除此之外,象排序这样的算法根本没有提供支持。C++出色的一个地方就是它的库,特别是“标准模板库”(STL)提供了一套相当完整的集合,以及许多象排序和检索这样的算法,可以非常方便地对那些集合进行操作。有感这一现状,并以这个模型...
  • (38)设计模式之职责链模式

    (38)设计模式之职责链模式 介绍 _6正文 _110总结 (38)设计模式之职责链模式 介绍 职责链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。 也就是说,请求以后,从第一个对象开始,链...
  • 8.8 总结

    8.8 总结 8.8 总结 下面复习一下由标准Java(1.0和1.1)库提供的集合(BitSet 未包括在这里,因为它更象一种负有特殊使命的类): (1) 数组包含了对象的数字化索引。它容纳的是一种已知类型的对象,所以在查找一个对象时,不必对结果进行转换处理。数组可以是多维的,而且能够容纳基本数据类型。但是,一旦把它创建好以后,大小便不能变化了。 ...
  • (41)设计模式之模板方法

    (41)设计模式之模板方法 介绍 _6正文 _82总结 (41)设计模式之模板方法 介绍 模板方法(TemplateMethod)定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法是一种代码复用的基本技术,在类库中尤为重要,因为他们提取了类库中的公共行为。...
  • (27)设计模式之建造者模式

    (27)设计模式之建造者模式 介绍 _6正文 _39总结 (27)设计模式之建造者模式 介绍 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对...
  • (33)设计模式之策略模式

    (33)设计模式之策略模式 介绍 正文 _149总结 (33)设计模式之策略模式 介绍 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 正文 在理解策略模式之前,我们先来一个例子,一般情况下,如果我们要做数据合法性验证,很多时候都是按照swith语句来判断,但是这就带来几个问题,首...
  • (28)设计模式之工厂模式

    (28)设计模式之工厂模式 介绍 _8正文 _99总结 (28)设计模式之工厂模式 介绍 与创建型模式类似,工厂模式创建对象(视为工厂里的产品)时无需指定创建对象的具体类。 工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建的时候指定自己的对象类型。 这个...
  • 模型-视图-控制器

    模型-视图-控制器 模型-视图-控制器 CodeIgniter 的开发基于 MVC(模型-视图-控制器)设计模式。MVC 是一种 用于将应用程序的逻辑层和表现层分离出来的软件方法。在实践中,由于这种分离 所以你的页面中只包含很少的 PHP 脚本。 模型 代表你的数据结构。通常来说,模型类将包含帮助你对数据库进行增删改查的方法。 视图 是要展现给用户...
  • 16.8 RTTI真的有害吗

    16.8 RTTI真的有害吗 16.8 RTTI真的有害吗 本章的各种设计模式都在努力避免使用RTTI,这或许会给大家留下“RTTI有害”的印象(还记得可怜的goto 吗,由于给人印象不佳,根本就没有放到Java里来)。但实际情况并非绝对如此。正确地说,应该是RTTI使用不当才“有害”。我们之所以想避免RTTI的使用,是由于它的错误运用会造成扩展性受到...
  • 16.5 抽象的应用

    16.5 抽象的应用 16.5 抽象的应用 走到这一步,接下来该考虑一下设计模式剩下的部分了——在哪里使用类?既然归类到垃圾箱的办法非常不雅且过于暴露,为什么不隔离那个过程,把它隐藏到一个类里呢?这就是著名的“如果必须做不雅的事情,至少应将其本地化到一个类里”规则。看起来就象下面这样: 现在,只要一种新类型的Trash 加入方法,对TrashSo...