惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Schneier on Security
The Last Watchdog
The Last Watchdog
Cyberwarzone
Cyberwarzone
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cyber Attacks, Cyber Crime and Cyber Security
L
Lohrmann on Cybersecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The Cloudflare Blog
V
V2EX
博客园_首页
博客园 - 聂微东
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
G
GRAHAM CLULEY
T
Tenable Blog
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
L
LINUX DO - 最新话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
SecWiki News
SecWiki News
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
T
Troy Hunt's Blog
博客园 - 【当耐特】
Forbes - Security
Forbes - Security
H
Hacker News: Front Page
A
About on SuperTechFans
B
Blog RSS Feed
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
D
DataBreaches.Net
P
Privacy & Cybersecurity Law Blog
Schneier on Security
Schneier on Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
D
Docker
P
Proofpoint News Feed

博客园 - 吕震宇

Yale CAS + .net Client 实现 SSO(6) Yale CAS + .net Client 实现 SSO(5) Yale CAS + .net Client 实现 SSO(4) Yale CAS + .net Client 实现 SSO(3) Yale CAS + .net Client 实现 SSO(2) Yale CAS + .net Client 实现 SSO(1) Windows Mobile 数独游戏及全部源码 SharpICTCLAS 1.0 发布! SharpICTCLAS(测试版)发布了 SharpICTCLAS分词系统简介(7)(8) SharpICTCLAS分词系统简介(6)Segment SharpICTCLAS分词系统简介(5)NShortPath-2 SharpICTCLAS分词系统简介(4)NShortPath-1 SharpICTCLAS分词系统简介(3)DynamicArray SharpICTCLAS分词系统简介(1)、(2) 实现ICTCLAS到C#平台的移植 天书般的ICTCLAS分词系统代码(二) 天书般的ICTCLAS分词系统代码(一) 给文章增加“Copy Code”功能
[转][黄忠成]Object Builder Application Block
吕震宇 · 2007-02-06 · via 博客园 - 吕震宇

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

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

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

  • 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实现。