开源组件的管理与应用杂谈

在企业应用中合理使用开源组件是个不错的方向。如果管理和应用呢,我谈一下个人的几个观点。


首先,在管理方面,使用Nuget。Nuget能够管理外部组件的版本,依赖,引用等,而且被良好的集成到VS中。

其次,应用方面,要使用接入的概念,在自己的产品主框架里面定义好接口,通过Adapter(Wrapper)模式,匹配外部开源组件接口。


这么做可能基于以下原因:

1. 所引入的开源组件原开发者不再维护

2. 出现更好的替代者

3. 客户希望以自己系统中已有的组件替代

4.原组件不再满足变化后的环境和需求,需要进行替换

5. 提供多种默认实现,以满足不同的实施环境

我称这种架构为主板式架构(MotherBoard-Architecture),框架的基础设施定义了一系列接口,各种基础组件通过独立的工程去实现接口。然后使用IoC框架创建对象,最终实现可插拔替换。


举个例子,缓存是一个系统不可或缺的部分,可以使用Asp.Net自带的进程内缓存容器,如System.Runtime.Cache, 也可以使用分布式缓存,如MemCache或者AppFabric。针对用户的应用场景,就可以通过配置自由切换本地缓存或者分布式缓存。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值