1. 江湖人士首页
  2. IT江湖
  3. 猿在江湖

JHRS开发框架之基础类库2分钟介绍

这个系列的文章旨在记录工作中使用WPF开发新的医疗项目中,有感于必须统一掉一些规范上的事情,并且提高团队开发效率,遂折腾了这么一个半吊子的框架,JHRS开发框架之基础类库,每个项目都有一些基础的类库,但看到这些零碎文字的朋友就凑和着看吧,如果能帮助到你,那也荣幸了。

继上篇WPF企业级开发框架搭建指南介绍了在工作中搭建的一个开发框架,其实也就是到处搬运了一些代码而凑成了这么一个架子,自己手动写的代码倒不是很多,时间都花在了整合代码,把程序跑起来的过程中,好了,闲话少叙;另外框架的名字也不好取,遂就以JHRS命名了。

JHRS开发框架之基础类库2分钟介绍 1

JHRS基础类库

在JHRS这个类库中,主要放置一些和业务无关但又不可缺失的代码,实际上对于每个项目而言,或多或少都有一些需要封装的类,这些类就组成了每个项目的基础的类库。

常见的文件帮助类,JSON序列化反序列化类,上传下载,网络,加密,反射等等这些。

基础类库

上图只是在当前源码中,已经使用到了的一些封装,包含了JSON,扩展类,分页查询请求,集合,反射等。

例如在JHRS这个基础类库中,扩展了JSON,基础的转换类,如果您要序列化某个对象,直接调用ToJson方法即可,如下代码所示:

object o = new object();
var json = o.ToJson();

将json反序列化为对象就这样调用即可。

json.FromJsonString<object>();

而对于一些数据类型转换的方法,例如 字符串转数字,大家熟知的是调用Convert.ToInt32这个方法,或者 int.TryParse这个方法,您可以在基础类库里面再次封装一下,因为用Convert可能存在转换异常的问题,而int.Tryparse又存在代码繁杂的问题,因为你需要这样写才行。

int result = 0;
int.TryParse("rex3", out result);

即使使用新的语法来写,看起来也不是那么的直观和优雅。那么封装后的统一写法支持泛型,并且不会出现转换错误了。下面的代码就是新的写法:

"34534xd".CastTo<int>();

在进行数据类型转换的时候,可以要求团队成员都统一调用 CastTo泛型方法,可以避免一些不经意而犯下的错误。

这和封装框架的初忠也是一样的,最终的目的是统一,包括代码风格。

JHRS开发框架之基础类库2分钟介绍 2

基础类库的引用关系

JHRS基础类库在当前的解决方案中,是不会引用其它项目的,当然第三方组件另说,例如JSON就需要通过nuget引用Newtonsoft.Json;在当前解决方案中如果引用了其它项目,那就失去了基础类库本来的目的了,因为如果引用其它的项目,可能会存在循环引用的问题。

因此从这一点来说,基础类库,不含业务处理,在当前解决方案中不引用其它项目,但可以被其它任何项目引用,这样该类库就已经充当了基础类库的功能了。

写在最后

基础类库并不包含什么业务功能,可以非常方便的写出单元测试来测试每个方法是否符合预期行为。

有些代码都是直接拿的开源的直接剪裁放进去的,您也可以按照这种组织方式整合自己的基础类库。在github上有很多功能更全面的基础类库,可以找找。

好了,关于基础类库的简单介绍和目的已经交待清楚,下一篇将介绍第三方框架选用的一些问题。

JHRS开发框架之基础类库2分钟介绍 3

本系列相关阅读

  1. WPF企业级开发框架搭建指南(启示录)
  2. JHRS开发框架之基础 类库
  3. JHRS开发框架之第三方框架选型
  4. JHRS开发框架之WPF调用Web API封装
  5. JHRS开发框架之客户端入口项目
  6. JHRS开发框架之各子系统如何整合
  7. JHRS开发框架之怎样设计合理的ViewModel基类
  8. JHRS开发框架之公用组件用户控件的封装
  9. JHRS开发框架之建议遵循的一些建目录文件原则
  10. JHRS开发框架之WPF数据验证
  11. JHRS开发框架之ViewModel相互传参和弹框回传参的解决办法
  12. JHRS开发框架之踩坑记(终章)
本站最新优惠

Namesilo优惠:新用户省 $1 域名注册-优惠码:45D%UYTcxYuCloZ 国外最便宜域名!点击了解更多

特别优惠:免费赠送 $100 Vultr主机-限时优惠!英文站必备海外服务器!点击了解更多

VPS优惠:搬瓦工优惠码:BWH3OGRI2BMW 最高省5.83%打开外面世界的一款主机点击了解更多

本文来自投稿作者:IT菜鸟,不代表江湖人士立场,如若转载,请注明出处:https://jhrs.com/2020/37951.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

19 + 16 =