小Q的博客

  • 首页
  • net编程
    • 产品和框架
    • 开发实例
    • 经验技巧
    • 开源组件
  • wp独立站
  • 自媒体
  • 日记本
  • 工具箱
每个程序员,都应该有一个自己的博客站
  1. 首页
  2. net编程
  3. 产品和框架
  4. 正文

c#常用类库整理,任何项目都用得上

2022年9月8日 6342点热度 4人点赞 0条评论

Table of Contents

Toggle
  • 1概述
    • 1.1应用场景
    • 1.2面向对象
    • 1.3开发环境
    • 1.4类库亮点
  • 2功能列表
    • 2.1Core类库
      • 2.1.1Core类库
      • 2.1.2Core.Models类库
      • 2.1.3Core.DAL类库
    • 2.2Utility组件集
      • 2.2.1 AdoNet组件
      • 2.2.2ComRefer组件
      • 2.2.3DiffPlex组件
      • 2.2.4HtmlParse组件
      • 2.2.5Log组件
      • 2.2.6Math组件
      • 2.2.7Message组件
      • 2.2.8Office组件
      • 2.2.9OpenAPI组件
      • 2.2.10QRCode组件
    • 2.3Kernel服务类
      • 2.3.1Service服务类
      • 2.3.2WebAPI服务类
      • 2.3.3WebService服务类
      • 2.3.4WinCom服务类
      • 2.3.5WinForm服务类
  • 3FAQ
    • 1. COM组件引用
    • 2. SQLite数据库如何使用
  • 4后记

1概述

1.1应用场景

在做软件开发过程中,为实现各种各样的功能,需创建各种方法,类库,功能包等.随着时间会不断积累,从而,逐步打造出稳定,高效的方法集
本类库即是作者通过不断的积累,在项目开发过程中将通用的功能抽离并实现.使在开发过程中,将更多的精力放在业务逻辑

1.2面向对象

Net程序开发员

1.3开发环境

  • VS2019或以上 整个框架只有此一个解决方案.Net类库版本是4.6.
  • EntityFramework 版本6.0
  • MySql数据库 版本是5.6
  • DevExpress20.1 WinForm应用中第三方控件

注:所有项目的目标平台建议选择:x86

1.4类库亮点

a)Helper类集合

b)基于微软的EntityFramework框架模式开发,完全ORM开发.通过配置Config文件,可切换不同数据库(目前支持:SQLServer,MySql和SQLite)


c)检索数据全部通过QueryModel类,避免出现检索方法参数过多.检索方式基于Linq语法,简单高效

c1)采用双Model模式,Entity类用于DAL层操作数据,Model类用于UI层页面展示
c2)框架数据可通过WebAPI和WebService两种方式被第三方软件使用


c3)调用代码如下所示
注:需部署至IIS

2功能列表

2.1Core类库

2.1.1Core类库

描述

  • 此项目包括最底层的通用类库,如:字符串操作,日期时间操作,文件操作等
  • 此项目是所有框架,开放平台,产品的基础

2.1.2Core.Models类库

描述:包括两种Model类

  • BillModel类,用于UI端展示用到
  • QueryModel类,用于Service端列表方法查询

2.1.3Core.DAL类库

描述

  • 此项目是数据库层,使用微软的EF组件
  • 此项目是所有框架,开放平台,产品的基础

2.2Utility组件集

2.2.1 AdoNet组件


描述

  • 基于Ado.Net操作多数据库.包括:MySql,OleDb,Server,SQLite等
  • 可指定Db表字段,生成Insert、Upate、Delete的Sql语句
  • 生成数据字典,导出文件包括:Html,Word,Excel
  • 支持读取Pdm文件内容

2.2.2ComRefer组件

描述

  • 此组件功能是统一引用Com组件,用于在WinForm框架打开各种文件.如上图所示:可以打开Flash,Media视频文件,MP3音频文件,Office文档(Word,Excel,PPT)和PDF文件等

注:目前没有实现编辑功能

2.2.3DiffPlex组件

描述

  • 此组件用于文本字符串的比较

2.2.4HtmlParse组件

描述

  • 此组件是基于HtmlAgilityPack类库的二次封装
  • 在此组件基础上,开发出产品:数据采集器

2.2.5Log组件

描述

  • 此组件将log4net开源项目代码移植至此.在Provider文件夹中.外部创建LogUtil静态类直接调用. 在各框架,开放平台,产品中均调用
  • 实现AOP功能,基于微软企业库。通过在方法中增加特性即可
  • 用于异常捕捉,解析和展示.在各框架,开放平台,产品中均调用

2.2.6Math组件

描述

  • 此组件功能是基于数学计算的方法类封装,只包含排列组合功能

2.2.7Message组件

描述

  • 此组件主要用于邮件,短信,站内信的功能封装.其中
  • 发送邮件是基于Aspose.NetWorks类库
  • 发送短信采用聚合数据提供的WebAPI接口
  • 发送站内信是此框架独立封装(暂未实现)
  • 框架抛出异常时,采用此组件发送邮件至系统管理员邮箱
  • 2.2.8Office组件

    描述

  • 此组件是针对操作Office文档的封装.如:Excel文件的导入导出,读取Word文档等
  • 在此组件的基础上,开发出产品:WinFormFame框架
  • 2.2.9OpenAPI组件

    描述

  • 此组件用于测试开放平台提供的WebAPI
  • 基于此组件,开发出产品
  • 聚合开放平台测试工具
  • 腾讯LBS开放平台测试工具
  • 2.2.10QRCode组件

    描述

  • 用于生成,解析一维码和二维码
  • 此组件示例在WinForm框架中
  • 2.3Kernel服务类

    2.3.1Service服务类

    描述

  • 提供对框架表的增删改查,统一封装至此.方便其他产品调用
  • 基于此类库,开发出WinForm框架、WebMVC框架
  • 2.3.2WebAPI服务类

    描述

  • 此服务类是将框架数据以WebAPI方式提供接口给外部程序,直接调用即可
  • 调用示例在WinForm框架中
  • 2.3.3WebService服务类

    描述

  • 此服务类是将框架数据以WebService方式提供接口给外部程序,直接调用即可
  • 调用示例在WinForm框架中
  • 2.3.4WinCom服务类

    描述

  • 此服务类是将功能封装成Com对象,供外部程序调用
  • 此服务类适用范围较小,预留至此
  • 2.3.5WinForm服务类

    描述

  • 此服务类是WinForm框架,将通用的功能点封装,可直接调用.如:登录页面,可被不同框架或产品同时调用
  • 在此服务类基础上,开发出WinForm框架。
  • 3FAQ

    1. COM组件引用

    项目引用若干COM组件,包括PDF文档预览组件,Office文档预览组件,视频播放组件.框架本身已提供安装程序在\packages\Tools\文件夹中(暴风影音安装程序未提供)

    2. SQLite数据库如何使用

    注1:所有的C#项目的目标平台,建议是x86,即使是64位开发环境中
    注2:需要在客户端安装SQLite驱动,可以官方下载,注:本框架使用的是Net4.0的驱动.文件名称是: sqlite-netFx40-setup-bundle-x86-2010-1.0.98.0.exe

    4后记

    核心类库会不断完善,目前版本是6.1,欢迎下载试用

标签: c#类库 net类库 常用类库 底层类库 核心类库
最后更新:2022年9月23日

小Q

80后中年不油腻大叔,喜欢编写代码、打羽毛球、做木制玩具。目前定居浙江杭州

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022 小Q的博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙ICP备2022019157号-2