Omar Al Zabir正在寻找"一种更简单的AOP风格编码方式".
他创建了一个名为AspectF的框架,这是一种"将Aspects添加到代码中的流畅而简单的方法".
它不是真正的AOP,因为它不进行任何编译时或运行时编织,但它是否实现了与AOP相同的目标?
以下是AspectF用法的示例:
public void InsertCustomerTheEasyWay(string firstName, string lastName, int age,
Dictionary<string, string> attributes)
{
AspectF.Define
.Log(Logger.Writer, "Inserting customer the easy way")
.HowLong(Logger.Writer, "Starting customer insert", "Inserted customer in {1} seconds")
.Retry()
.Do(() =>
{
CustomerData data = new CustomerData();
data.Insert(firstName, lastName, age, attributes);
});
}
Run Code Online (Sandbox Code Playgroud)
以下是作者的一些帖子,进一步阐明了AspectF的目标:
根据作者的说法,我认为AspectF的设计不是AOP的替代品,而是一种实现"分离关注并保持代码良好和干净"的方法.
一些想法/问题:
| 归档时间: |
|
| 查看次数: |
1524 次 |
| 最近记录: |