摘要:
好久没写文章了。标题列了很久,不动笔实在对不起大家。 今天来谈谈AAF的缓存机制。其实,关于AAF的缓存机制已经在前面几篇文章里陆陆续续地简单介绍过。今天我们就多花点时间来仔细看看。 AAF对缓存的考虑主要有三个层次: 1)普通值或普通对象的缓存 2)AgileObject的缓存 3)页面内容的缓存 在AAF中,所有缓存本质上讲都是通过ICacheService和ITypeCacheService... 阅读全文
摘要:
最近有点闲散,很久没有写文章了。明天起要认真准备一点东西,一段时间内也没什么时间动笔。看了一些朋友的留言和回复,觉得还是有必要抓紧时间将一些思路写出来与大家分享。 AAF系列还将写下去,但是AAF的一些具体实现确实是比较枯燥的。所以本篇文章同前一篇类似,还是以谈思路为主。这次我们谈一谈OOA和OOD。 我不准备去按教科书的讲法介绍二者。教科书中的东西有时候象是筋被挑去的动物解剖尸体—&... 阅读全文
摘要:
在上一篇文章中,我们已经通过一个更实际的例子对AAF的对象持久化机制有了进一步了解。我们看到,用AAF来实现一个实际应用的业务对象模型确实 是一件非常容易的事情。这篇文章则会换个角度,从用户在实际应用中可能面对的问题出发,给出每种问题的解决办法和思路,以便大家对AAF的灵活性有所了 解。因此,本文的内容将由一个个问题和答案组成。大家在阅读本文时,如果有什么问题需要提出,可以通过留言或者其他方式告诉... 阅读全文
摘要:
面向对象的话题本来是个老话题了。只是看到还有不少人对这个问题有所困惑,我也就不吝浅薄,谈谈自己对面向对象的理解。还请大家在读过之后,能够不计鄙人的浅薄,多提宝贵意见。不断地争论和讨论是前进的根本动力。 面向对象的整套方法本来可以分为面向对象分析、面向对象设计、面向对象编程等。但是在这点上,我是赞同XP的开发思想的:代码就是所有的设计。因 此,我更愿意把面向对象看作一个整体:一切最终落实到体现了面向... 阅读全文
摘要:
下面我们一起来看看灵便对象的持久化。 灵便对象的持久化在某些情况下确实可以简单到如前言中的例子一般,有时候我们则可能需要更多的配置和设定。下面我们从一个更实际的例子出发,来看看在各种不同的现实考量下,我们需要做哪些工作。 这个例子是要建立一个订单管理系统的业务对象模型及其实现(我们不考虑界面,在业务对象实现完毕之后,界面会是很快的一件事情)。在考虑具体的对象模型之前,我们作这样几个假设: 0)我们... 阅读全文
摘要:
AAF对象模型的核心是IAgileObject接口及其实现。所有Business Object在使用AAF时都应直接或间接继承自IAgileObject的基本实现:AgileObject。本文的内容看起来似乎会较多较复杂,但在 实际应用中,绝大多数时候都不需要关心这些内容。本文的目的只是为了让大家对AAF的内核模型有所了解,如果大家觉得枯燥可以粗略读一下,有点基本概念即 可。下面首先看看IAgil... 阅读全文
摘要:
一个典型AAF应用由如下几个部分组成: 1)一组配置文件,其中最基本的是Boot.Config,通过该文件声明应用所需要的各服务接口及其实现 2)AAF基本服务定义及其实现Assembly/程序集 3)应用自定义的服务定义及其实现Assembly/程序集 4)一个恰当的服务集加载点。一般来说,Web应用应该在Application.OnStart实践处理方法中直接或间接调用Aaf.Core.Ser... 阅读全文