在LindAgile中有一个比较主推的技术,就是模块化,一切组件都可以被抽象成一个小小的模块,而每个小模块的实现可能又有多种方式,如日志模块可以有LindLoger,Log4net等实现,而具体在程序中使用哪种方式,是否由模块的注册顺序决定的,在程序初始化时,一切会注册这些模块,一个日志模块,如果先注册了log4net,后注册了lindLogger,那种先注册的将会被覆盖。

日志模块-图示

aaarticlea/png;base64,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" alt="" />

模块的注册与使用-图示

aaarticlea/png;base64,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" alt="" />

模块化的入口

对于模块的扩展,大叔建议在具体项目添加扩展方法,事实上在lindAgile框架里也提供了一些标准的扩展方法,方便大家对模块进行注册!

 #region 模块化
ModuleManager.Create()
.UseAutofac()
.UseLindLogger()
.UseEfRepository()
.UseDefaultMq()
.UseESBRedis()
.InitAllPlugins();
#endregion

而对于使用来说,直接可以使用Module的Resolve来生产指定接口的指定对象,非常方便!

var old = PluginManager.Resolve<IAopHelloTest>();
var result = old.GetLogger("bobo");

上面的代码中,我们使用的是LindAgile的面向切面的方法缓存,将方法的返回值进行缓存,一个缓存的失效由另一个方法来控制,而不是传统上的时间!

    public interface IAopHelloTest : IAspectProxy
{
List<WebLoggers> GetLogger(string name);
void AddLogger(WebLoggers entity);
}
public class AopHelloTest : IAopHelloTest
{
[CachingAspect(CachingMethod.Get)]
public List<WebLoggers> GetLogger(string name)
{
return new Tsingda_Prizes_ManagerEntities().WebLoggers.Take().ToList();
}
[CachingAspect(CachingMethod.Remove, "GetLogger")]
public void AddLogger(WebLoggers entity)
{ }
}

这种设计在Lind框架中也有出现过,只是在LindAgile里把它完善了,再配合模块化,插件化等组件,能得数据集缓存达到了前所末有的高度!

我不要复杂的设计

我不要过重的设计

我只要简洁的,松耦合的实现!

最新文章

  1. string.Format 格式化输出日期
  2. 缓存技术比拼:Redis与Memcached的同与不同
  3. linux C gcc -lm
  4. Swift超详细的基础语法-结构体,结构体构造器,定义成员方法, 值类型, 扩充函数
  5. .net entity framework 泛型 更新与增加记录
  6. iOS开发获取缓存文件的大小并清除缓存
  7. HDU2571:命运(DP)
  8. 页面异步请求会保留原有的js内容
  9. android JSON解析 fastjson和gson的使用
  10. 如何在MQ中实现支持任意延迟的消息?
  11. ubuntu18.04 安装mysql 5.7.22
  12. 用Maven实现一个protobuf的Java例子
  13. css 冷知识
  14. 探讨npm依赖管理之peerDependencies
  15. CentOS6.x下源码安装MySQL5.5
  16. solr 5.0.0 bin/start脚本详细解析
  17. RedHat6.5安装zookeeper集群
  18. Byte字节与位
  19. Cocos2d-x游戏导出android工程,提取cocos的so文件
  20. BZOJ5329:[SDOI2018]战略游戏(圆方树,虚树)

热门文章

  1. 设计模式(二)&mdash;工厂方法模式
  2. Web性能优化工具WebPageTest(一)——总览与配置
  3. 自定义一个EL函数
  4. require.js入门
  5. memory库函数的实现
  6. 记录参加QCon的心得
  7. KMP算法学习(详解)
  8. LRU Cache java实现
  9. collection and map and Collections
  10. PHP填补数字前后的0