企业库应用实践系列四:创建模板引擎框架
2009-01-04 11:26
429 查看
截至目前,微软Enterprise Library已不断更新至4.1版本,但其精髓仍然是方便开发者快速开发自己的应用程序块。目前介绍Enterprise Library的文章大部分侧重于如何应用其中已有的应用程序块,如Data Access。而对如何创建自己的Enterprise Library则鲜有涉足。本系列笔者将侧重于介绍如何基于Enterprise Library的核心——Configuration和ObjectBuilder,构建属于企业自己的应用程序块以及期间可能出现的一些问题。此方面的高手请飘过。
第一阶段:HelloWorld
第一篇:创建第一个自己的Application Block
第二篇:Application Block生成原理详解
第三篇:自定义功能类的构造函数
第二阶段:实战模板引擎
第四篇: 创建模板引擎框架
第五篇: 创建模板引擎Library
第六篇:构建模板引擎处理逻辑
第七篇:实现模板引擎
第八篇:第二阶段回顾
以下为第四篇内容
从本篇开始,我们将利用Enterprise Library创建一个模板引擎应用程序块。今天的主要任务是创建模板引擎框架。
在开始之前,再次总结一下构建应用程序块的几个原则:
一、使用方便,对于最终的类库使用者,只须知道功能的接口和调用功能的方法即可。
二、避免暴露过多的类,以混淆代码使用者。
三、尽可能遵循微软.net类库设计指南
四、尽可能做到代码复用。
五、使用设计模式,使得代码松耦合。
六、应用程序块应该具有可扩展性
我们今天要构建的类库名称叫TemplateEngineer.该类库总的只有一个输入:一个String类型的template,只有一个输入:就是将template切分后的代码片断模型。
围绕这个思路我们分步完成模板引擎框架的构建
一、设计我们要用到的功能接口
1、新建用于表达代码片段的接口ISegment和抽象基类Segment。
public interface ISegment
2public class Segment : ISegment
2public interface ISourceResolver
2public static class SourceResolvers
2public class SoureceResolveFactory : NameTypeFactoryBase<ISourceResolver>
2 {
3{
5{
10 }
11 }
至此应用程序块框架到此搭建完成。
我们的下一步目标是使得一句简单的代码:
ISoureResolver resolver = SourceResolvers.GetResolver();
可以得到正确的返回结果。敬请期待。
第一阶段:HelloWorld
第一篇:创建第一个自己的Application Block
第二篇:Application Block生成原理详解
第三篇:自定义功能类的构造函数
第二阶段:实战模板引擎
第四篇: 创建模板引擎框架
第五篇: 创建模板引擎Library
第六篇:构建模板引擎处理逻辑
第七篇:实现模板引擎
第八篇:第二阶段回顾
以下为第四篇内容
从本篇开始,我们将利用Enterprise Library创建一个模板引擎应用程序块。今天的主要任务是创建模板引擎框架。
在开始之前,再次总结一下构建应用程序块的几个原则:
一、使用方便,对于最终的类库使用者,只须知道功能的接口和调用功能的方法即可。
二、避免暴露过多的类,以混淆代码使用者。
三、尽可能遵循微软.net类库设计指南
四、尽可能做到代码复用。
五、使用设计模式,使得代码松耦合。
六、应用程序块应该具有可扩展性
我们今天要构建的类库名称叫TemplateEngineer.该类库总的只有一个输入:一个String类型的template,只有一个输入:就是将template切分后的代码片断模型。
围绕这个思路我们分步完成模板引擎框架的构建
一、设计我们要用到的功能接口
1、新建用于表达代码片段的接口ISegment和抽象基类Segment。
public interface ISegment
2public class Segment : ISegment
2public interface ISourceResolver
2public static class SourceResolvers
2public class SoureceResolveFactory : NameTypeFactoryBase<ISourceResolver>
2 {
3{
5{
10 }
11 }
至此应用程序块框架到此搭建完成。
我们的下一步目标是使得一句简单的代码:
ISoureResolver resolver = SourceResolvers.GetResolver();
可以得到正确的返回结果。敬请期待。
相关文章推荐
- 企业库应用实践系列五:创建模板引擎Library
- 企业库应用实践系列二:对象创建原理详解
- 企业库应用实践系列一:创建第一个自己的Application Block _转http://www.cnblogs.com/lvwuhuijun/articles/1366094.html
- 企业库应用实践系列一:Hello Library
- 企业库应用实践系列三:自定义构造函数
- NodeJS实战——创建基础应用并应用模板引擎
- NodeJS实战——创建基础应用并应用模板引擎
- NodeJS创建基础应用并应用模板引擎
- hibernate实体类的创建规则---【小白系列】0基础到熟练应用hibernate框架(六)
- NodeJS创建基础应用并应用模板引擎
- 模板引擎应用
- 关于 underscore 中模板引擎的应用演示样例
- 大数据:美团酒旅实时数据规则引擎应用实践
- Android 快速开发系列 ORMLite 框架最佳实践
- ABP(现代ASP.NET样板开发框架)系列之17、ABP应用层——参数有效性验证
- 大数据系列之分布式计算批处理引擎MapReduce实践-排序
- 使用AngularJS创建应用的5个框架
- JavaScript模板引擎的应用场景及实现原理
- Android 快速开发系列 ORMLite 框架最佳实践
- [转载]AAF灵便应用框架简介系列(2):AAF应用的启动和初始化