Home - wengys/Teleware.Foundation GitHub Wiki
业务无关的基础库项目
本基础库主要针对不同环境(web、console……)下的不同项目准备公共的基础环境,为不同项目的开发提供一致的开发体验。
基础环境开发主要遵循以下原则:
- 约定重于配置,特殊情况特殊处理
- 著名第三方组件倾向于直接使用(如autofac,只对初始化配置适当封装)
- 命名空间参考.net平台现有命名空间名,简化理解负担
- 对经常变化的组件(如数据库访问),进行深度包装
本项目主要封装和具体业务无关的技术支撑组件,包括:
-
主要技术相关组件接口定义以及常用辅助类
-
Teleware.Foundation.Configuration
基于microsoft.extensions.options的配置信息读取,支持
- JSON格式的配置文件
- Consul分布式配置文件服务
-
Teleware.Foundation.Diagnostics.Loggers.NLog
基于NLog的日志实现
-
Teleware.Foundation.Hosting.Application
控制台以及传统Asp.net项目的
IEnvironment
实现,参见运行环境相关 -
Teleware.Foundation.Hosting.AspNetCore
控制台以及传统Asp.net项目的
IEnvironment
实现,参见运行环境相关 -
Teleware.Foundation.Serialization.Serializers.Json
基于Newtonsoft.Json的
IObjectSerializer
实现,参见序列化/反序列化对象 -
Teleware.Foundation.Serialization.Serializers.Compress
基于DeflateStream的
IObjectSerializer
包装,将其他IObjectSerializer
实现类的结果压缩/解压 -
Teleware.Foundation.Data.EntityFramework
基于EF6的数据层相关接口实现,不基于任何特定数据库
-
Teleware.Foundation.Data.EntityFramework.Oracle
Teleware.Foundation.Data.EntityFramework的Oracle数据库适配,参见Teleware.Foundation.Data.EntityFramework依赖说明
-
Teleware.Foundation.Data.Extensions.Oracle
Oracle相关数据库扩展方法(主要用于获取连接,直接操作Oracle数据库)
-
Teleware.Foundation.Caching.CacheProviders.Memory
基于内存的缓存实现,参见ICacheProvider
-
Teleware.Foundation.AspNet.WebApi.Filters
AspNet.WebApi相关预定义Filter,包括
- 错误日志捕获
- UnitOfWork提交
-
Teleware.Foundation.AspNetCore.MVC.Filters[TBD]
约定各个模块的Module类(如Teleware.Foundation.Core.Module)为autofac注册模块,使用模块时,在autofac中注册此模块即可
请参考目录下Playground.*相关项目