05 2012 档案
摘要:在WPF内可以使用DataTemplate,来辅助完成对对象集合做DataBinding的工作。并且透过DataTemplate的DataType属性,来让对象集合中不同的对象,经过DataBinding之后能有「不同的外观」。简单的范例如下:不同的车辆类型,会依照车辆类型,呈现不同的详细数据。namespace BindingInterfaceSample{ public class Car { public string Name { get; set; } } public class Truck : Car { public i...
阅读全文
摘要:动机Service Locator是一个在开发系统时,很常用的一个模式。在Martin Fowler写的Inversion of Control Containers and the Dependency Injection pattern里,可以发现这个Pattern的身影。Service Locator最主要是定义BLL层内对象生成、对象存放、对象取得的职责,让系统在取得对象时不需要知道对象是如何生成及存放,有效降低系统的耦合性。同时学习Service Locator,也为架构设计带入了空间的概念。在设计架构的时候,可以套用Service Locator来做为架构空间的封装。将经对象生成建
阅读全文
摘要:前言在做架构设计的时候,数据对象进出系统边界,可以采用先前的文章介绍的[Architecture Pattern] Repository,来将外部的系统、模块、数据库…等等,隔离在架构之外。而当系统采用关系数据库来做为储存数据库的时候,开发人员必需要在程序内加入ORM(Object Relational Mapping)的功能,才能将数据对象与关系数据库数据做互相的转换。但当开发人员要从数据库查询大量数据的时候,会惊觉上述ORM的运作模式是:将数据库查询到的「所有数据」,转换为数据对象集合放在「内存内」,再交由系统去使用。「所有数据」、「内存内」这两个关键词,决定了在大量数据的处理上,这个运作
阅读全文