- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分析模式可复用的对象模型-ch09
交易模式 合同 Megabank 向英国铁 路局卖出2百万美元 (USD),获得 1 百万 英镑(GBP)。这是一 份买入合同,对方团 体是英国铁路局,数 量是1百万,价格是 2,交易物是英镑。 而该合同同时可以 表示为卖出合同,数 量是2百万,价格是 0.5,交易物是美元。 图9.3以稍微不同的 方式表达了同一种 情况。还是运用了两 个团体—合同关 系来表示内部交易。 然而,这两种关系是 “主要团体”和“对 方团体”而不是“买 方”和“卖方”。主 银行团体总是作为 主要团体与外部组 织进行交易。对于内 部交易,两种关系的 选择就比较随意了, 然而一般总是把发 起交易的一方作为 主要团体。而买入和 卖出两个合同子类 是基于主要团体的 视角。 背景知识 图9.3相对于图9.2 而言似乎是非常的 重复,然而从交易领 域的角度来讲,模型 9.3 包含了更多有 意义的信息,例如交 易的发起者是谁,其 行为是卖出还是买 入等。 见书后附注9.1。 有一个开放的问题, 即该交易模型中的 合同与第6章账务模 型中的事务之间的 关系。一个交易可以 被看作事务,例如从 Megabank 账目中取 出 1000 股 ACM 存入 Martin Fowler 的账 目,同时还有一事务 是相反的方向交换 合同夹 等价的金钱。 一个交易可以分解 为两个事务。 一个更好的选择是 让 合 同 夹 (portfolio)自己收 集合同。如图 9.6所 示,可以给合同夹设 计 一 个 布 尔 方 法 (布尔方法即一个返 回值为布尔类型的 方法),该方法以合 同(contract)作为 输入参数,并根据一 定的条件对输入合 同进行评估。合同夹 内所有存放的合同 都是其布尔方法评 估值为“真”的合同。 这使得我们可以以 任何条件组合来选 择合同,并且将合同 夹中的管理函数应 用到选出来的合同 集内。 触类旁通 这种模型的优点是, 布尔方法是抽象的, 不管多么复杂的条 件组合都可以在该 方法中实现。其缺点 是,合同夹不具备弹 性,布尔方法实现之 后合同夹的选择条 件无法再改动,对于 新的选择条件,必须 生成新的合同夹实 例。 见书后附注9.2。 见书后附注9.3。 选择器用于选择其 命名的对象,例如合 同选择器就是用以 选择合同对象,并返 回一个合同集合。而 过滤器为其命名的 类别对象选择其他 的类别对象,因此合 同夹过滤器是为合 同夹选择合同对象。 命名规则以及一致 性在开发阶段特别 是团队合作中非常 重要。 持久合同夹以同样 的方式创建,但是不 会被丢弃。当新的合 同创建之后,会分别 检测这些持久合同 夹,如果符合过滤器 的条件便加入该合 同夹中。一旦合同夹 变更,任何基于合同 夹的处理过程则要 被同时更新。持久合 同夹具有快速查找 性能,但是却减慢了 合同创建速度,以及 暂用了磁盘空间。 每个合同创建的时 候要检测所有的持 久合同夹,因此减慢 了创建速度。有一种 折中的方案—懒惰 创 建 ( lazy creat ing),即持久保存的 合同夹内部并不真 正含有合同集,只有 当真正进行合同查 询的时候,(转下页) 报价 (接上页)通过滤器 动态生成合同集合。 在合同夹的访问量 大但访问次数并不
有哪些信誉好的足球投注网站
文档评论(0)