前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【2】快速代码集的由来及概览

【2】快速代码集的由来及概览

作者头像
用户1075292
发布2018-01-23 11:56:54
5820
发布2018-01-23 11:56:54
举报
文章被收录于专栏:听雨堂听雨堂

喜爱编程,尽管编程开发并非自己的主要工作,但多年来,也一直没有间断开发。既有工作单位的一些项目,也有纯粹自己的一些想法而做的程序(我的原创)。在使用C#开发各类项目的过程中,把一些常用的编程的思路方法总结起来,慢慢就形成了一个辅助代码库。随着内容的完善,自我感觉对于快速完成开发效果显著。

一直以来也想把这个辅助代码库发布出来,对有些情况类似的开发者也许有用,对自己同时也是个促进。但是每次当我看到园子里面的高手们推出的各种框架,顿时自惭形秽、后背冒汗,立马打消念头了。和他们相比,我的代码库的确算不上什么,就是代码的整理加工而已,一点都不高大上。

前两天看新闻,中国台湾的反服贸运动,学生们敢于理直气壮的闹事,他们的信息来源,居然绝大多数都是来自于网上的“服贸懒人包”,就是用几幅漫画就试图把服贸协议说清楚。

抛开这个“懒人包”中的信息误导等问题不谈,不得不承认,这种“懒人包”是现在这种快餐时代的大家喜闻乐见的方式:简单、不费脑子。通过简单直白的文字、图像、视频,把一些复杂、深奥的内容直观的表现出来,使每个网民只要几分钟就能够明白其中的重点(当然,也有可能是制作者想表达的私货)。

受此启发,我觉得我的辅助代码库算不上什么“框架”,我没有通过一个代码库,去解决所有问题、适用各种应用场景的野心。我觉得这个辅助代码库更像一个“懒人包”,把各种编程中反复遇到的、经过检验是正确有效的处理封装、简化,用最少的记忆量和最简的代码量完成常用的任务,特别适合像我这样的编程懒人使用。由此,我又一次决定尝试把这个辅助代码库的内容整理出来。

辅助代码库涉及常用的C#编程的各方面,如数据库、日志操作、Web操作、socket通信、跨线程通信、正则表达式、Web页数据交换等。以最常用的数据库查询为例,只要引用了辅助代码库CommonCode,在任何位置,都可以通过这样的代码进行数据查询:

代码语言:javascript
复制
DataTable dt = AccessDB.GetData("select * from testtb");

可以想象,如果要执行一个非查询操作,可以通过如下代码实现:

代码语言:javascript
复制
AccessDB.DoNonQuery("update testtb set f_Code=1");

这种数据访问方式具有较大的通用性,无论是WinForm程序,还是Web应用程序;无论是Access、Sqlserver,还是Sqlite,都是使用相同的方式进行访问。这种数据库访问的配置代码极小,只需在Web.config中用一行连接串来指定,或者在代码中通过一行初始化代码来指定皆可。

关于代码库的设计思路是这样的:

  1. 作为辅助库,为了便于使用,大多数功能都以静态方法的方式提供。
  2. 只要记住静态类的名字即可使用相关功能。为了和最开始的AccessDB类(数据库访问辅助)一致,后面的各种辅助类也以类似形式命名,如:
    1. AccessFile:文件读写,通过一个方法可以把文件读入字符串或者把字符串写入文件。
    2. AccessFiles:批量、多线程、智能文件复制。
    3. AccessWeb:快速把Web页面读入字符串;通过代理访问页面;下载文件;导出xls等。

  3. 随着应用的增加,简单的辅助方法以不能涵盖,如web开发中的参数管理、分页、页面数据交换;网络通信、线程通信等无法用上面的命名模式,这些功能需要结合例子掌握用法。

使用CommonCode,完成的一些项目包括:

  1. 大量的网站
  2. 一个通用性较强的CMS
  3. 数据采集仪的通信服务器
  4. 基于QuickFix协议的客户端
  5. 网络兵棋对战系统
  6. 股票信息抓取系统
  7. ……

从应用的角度来说,能够满足需要,同时能够保证开发的速度。当然,CommonCode本来就是一个个人作品,随着应用的变化也在不断完善之中。也希望通过博客的交流,变得更加实用和完善。

下图是CommonCode的各种构成类别的概览。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-05-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档