zoukankan      html  css  js  c++  java
  • [转][黄忠成]Object Builder Application Block

    最近阅读了黄忠成的Object Builder系列文章感到受益匪浅,所以将该系列文章整理了一番(将繁体转换为简体,另外对于一些习惯用法进行了调整,对文章及代码格式重新进行了调整,修订了文中几处小错误),现放上来供大家参考。

    [转][黄忠成]Object Builder Application Block (1)
    [转][黄忠成]Object Builder Application Block (2)
    [转][黄忠成]Object Builder Application Block (3)
    [转][黄忠成]Object Builder Application Block (4)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    另外受这一系列文章的启迪,目前正在构思几篇新文章,初步题目定为《创建对象的方法及其应用》。目前文章用到的代码调试已经完成了大半,如果有时间我会开始着手文章写作工作。基本内容分以下几部分:

    • 1、CreateOjbWithNew

    使用new命令完成对象的创建。(既然是一个系列,缺少此部分就不完整了)

    • 2、CentralizeObjCreation2Factory

    针对接口编程(使主程序依赖于公共接口与工厂)

    集中对象的创建(出现问题好找)

    问题(仍然摆脱不了工厂对其它对象的依赖,仅仅实现了创建对象的集中管理而已)

    • 3、IndependentFactoryModel

    使用Assemby以及CreateInstance方法创建对象,实现了工厂与产品间解耦。

    • 4、AddinSample

    案例分析,使用上面模型实现一个插件结构的应用程序。该程序运行机制仿照SharpDevelop(当然是大大简化了)的AddinTree结构,只要在Addins目录下存放的文件会被自动的Pickup并容入主界面。

    • 5、BeforeDependencyInjection

    为了后面的案例做准备工作。在没有Dependency Injection框架时,自己手工创建对象。

    • 6、DependencyInjectionWithConfig

    自己实现的一个“依赖注入”框架(非常简单,纯粹演示目的),使用配置文件指导对象创建工作。

    • 7、DependencyInjection与Ioc

    通过上面两个例子我们了解了什么是依赖注入,可为什么依赖注入为什么最开始叫做控制反转呢?本段内容揭示其中的联系以及“容器”这个概念的特殊含义。

    • 8、ObjectBuilder

    可以将ObjectBuilder理解成一个智能加工工场,根据用户的不同订单策略在流水线上加工各种对象。该部分内容对ObjectBuilder做一个宏观的介绍。先将文中一张图放上来:

    • 9、TranslatorSampleUsingOB

    对OB的一个实际应用案例。模拟TechEd英文会场,参会人员可根据需要选择不同的翻译服务,充分享受"容器"以及"依赖注入"的强大功能,系统借助ObjectBuilder实现。

  • 相关阅读:
    bzoj3473 字符串
    洛谷P4070 生成魔咒
    洛谷P3975 弦论
    AT1219 歴史の研究
    课上讲的几个新的技巧
    索引与视图(转载)
    oracle中的分支与循环语句
    Oracle to_date()函数的用法《转载》
    自定义函数的存储过程的区别
    UNION 和 UNION ALL 操作符
  • 原文地址:https://www.cnblogs.com/flyhigh1860/p/2800038.html
Copyright © 2011-2022 走看看