我的.net开发百宝箱
一、Resharper
http://www.jetbrains.com/resharper/
最强悍的VisualStudio的插件,它包括一系列丰富的,能大大增加C#和Visual Basic
.net开发者生产力的特征。使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范围内代码分析,快速代码
更正,一步完成代码格式化和清理,业界领先的自动代码重构,高级的集成单元测试方案,和强大的解决方案内导航和搜索。使用该插件后编码效率至少提高10%以上。
二、Nhibernate
.Net领域最强大的OR Mapping与数据访问组件。使用该组件或其它类似的OR Mapping工具,可以将数据库中的业务实体直接映射成领域对象,可以很方便的在这些领域对象中增加方法,并且使用继承与多态等面向对象的特性。可以这样说,该组件是你开始在业务级开发里应用面向对象的第一步。
网上现在有很多能够根据表自动生成基于Nhibernate的数据访问层的模版,不过个人不建议使用自动生成的方法。第一,因为领域模型里的一对多关系,多对一关系,还有是否使用继承等,是很难通过表结构自动判断出来的,而使用自动生成的方法后,很难手工的调整这些关系。第二,使用自动生成数据访问层的方法后,也很容易让人产生一种错觉,觉得这就应该是最终的结果,而不去思考自动生成的实体关系是否合理。
三、Spring.net
http://www.springframework.net/
.net领域最强大的依赖注入与面向方面组件。使用该组件动态的注入依赖的对象,这样在以后自动化单元测试的时候,可以方便的用Mock或Fack对象来替换依赖对象,以完成单元测试。并且将一些非领域内的方法(事物、首发Email等)封装到一个方面里,可以在对领域对象自动测试时不运行非领域内的方法。Spring.net还支持与Nhibernate的集成,为Nhibernate的事物提供了一个方面。
四、Fluent Nhibernate
一个强大的配置Nhibernte的工具。可以让你在代码中通过类名、属性名等强类型化的方法配置Nhibernate,而不是在Xml中使用手写的类名、属性名来配置。
五、Reflector
http://www.red-gate.com/products/dotnet-development/reflector/
一款非常不错的.net程序集反编译软件。不但支持程序的反编译,还可以在没有代码的情况下调试程序集。(不过这个功能是收费的)
六、Rino Mock
官网没有找到
一款运行时自动生成Stub与Mock的组件。可以模拟依赖组件的行为,而不需要实际引用依赖的组件,在自动化测试的时候非常有用。
七、Antlr
一款自动生成领域语言的工具。如果你开发的是一个平台级产品,需要一个领域语言针对不同的业务场景进行配置,可以考虑使用该组件。
八、Farpoint Spread
http://www.gcpowertools.com.cn/
一款非常不错的解析与生成Excel的组件。该组件是以控件形式存在,但如果仅仅是解析或生成Excel,你也可以不在界面上放置该控件,可以将该控件放到一个窗体上,实例化那个窗体,通过那个窗体访问Farpoint Spread的方法。该组件有2个点,一个是费用比较高,另外一个是生成与解析Excel的速度比较慢。
九、Npoi
一款免费的解析与生成Excel的组件。解析与生成Excel的速度都比较快,缺点是不支持插入与删除行,对07-10格式的Excel支持不好(最新版本正在对这个问题改进),接口封装的很差,调用起来不是很方便。
十、JQuery
最强大的一款网页客户端开发组件。可以很方便的对网页控件进行集合操作,在页面上新增、删除元素,做Ajax调用。
十一、StartUml
http://staruml.en.softonic.com/
一款免费的Uml建模工具。该工具的用户体验一般,对中文支持的不是很好,如果不调机器的内码,中文会显示成乱码。如果文件夹的名字中有中文,文档甚至无法打开。有点只有一个,免费。
我的.net开发百宝箱的更多相关文章
- 《HTML5与CSS3实例教程》
<HTML5与CSS3实例教程> 基本信息 作者: (美)Brian P. Hogan 译者: 卢俊祥 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:97871153634 ...
- iOS开发——程序员必备&iOS安装包的三种格式 deb、ipa 和 pxl的解释和说明
iOS安装包的三种格式 deb.ipa 和 pxl的解释和说明 目前 iOS 平台上常见的安装包有三种,deb.ipa 和 pxl.转自链接:http://fanlb.blogbus.com/logs ...
- 企业门户(Portal)项目实施方略与开发指南
<企业门户(Portal)项目实施方略与开发指南> 基本信息 作者: 郑文平 丛书名: 企业大型应用集成丛书 出版社:电子工业出版社 ISBN:9787121211843 上架时间: ...
- 微信小程序红包开发 小程序发红包 开发过程中遇到的坑 微信小程序红包接口的
最近公司在开发一个小程序红包系统,客户抢到红包需要提现.也就是通过小程序来给用户发红包. 小程序如何来发红包呢?于是我想到两个方法. 之前公众号开发一直用了的.一个是红包接口,一个是企业支付接口.一开 ...
- Web前端开发推荐阅读书籍、学习课程下载
转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学 ...
- 微信小程序红包开发思路 微信红包小程序开发思路讲解
之前公司开发小程序红包,将自己在开发的过程中遇到的一些坑分享到了博客里.不少人看了以后,还是不明白怎么开发.也加了我微信咨询.所以今天,我就特意再写一篇文章,这次就不谈我开发中遇到的坑了.就主要给大家 ...
- web开发资源导航
实用工具 前端在线工具 兼容性速查 html5兼容性查询 node-es6支持度 es6兼容性表查询 设备es6支持度 游览器H5支持度 浏览器内核检测工具 手机设备信息检测 浏览器市场份额 文档手册 ...
- 避免重复造轮子的UI自动化测试框架开发
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
随机推荐
- 运用惰性删除和定时删除实现可过期的localStorage缓存
localStorage简介 使用localStorage可以在浏览器中存储键值对的数据.经常被和localStorage一并提及的是sessionStorage,它们都可以在当浏览器中存储键值对的数 ...
- 和付费网盘说再见,跟着本文自己起个网盘(Java 开源项目)
本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 网盘项目. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列. 今天给大家带 ...
- python初学者笔记(2):阿拉伯数字转换成中文大写
题:输入一个数字,转换成中文大写的写法 可运行的程序(Python 2.7.9): # -*- coding: utf-8 -*- #在python2的py文件里面写中文,必须要添加一行声明文件编码的 ...
- Java实现 LeetCode 696 计数二进制子串(暴力)
696. 计数二进制子串 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的. 重复出现的子串要计算它们出现的次数. 示例 1 ...
- 第四届蓝桥杯JavaC组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜年龄 题目描述 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学. 一 ...
- java实现控制台表格
画表格 在图形环境中很容易做出漂亮的表格.但在控制台环境中就比较困难了.有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看) +-------+------+ |abc | ...
- 简述hadoop安装步骤
简述hadoop安装步骤 安装步骤: 1.安装虚拟机系统,并进行准备工作(可安装- 一个然后克隆) 2.修改各个虚拟机的hostname和host 3.创建用户组和用户 4.配置虚拟机网络,使虚拟机系 ...
- C和C++中static的比较
using namespace std; class A{ private: static int a;//由static修饰的变量仅仅是一个声明,不能在此处进行初始化,需要在类的外部初始化. voi ...
- @atcoder - AGC024F@ Simple Subsequence Problem
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定由若干长度 <= N 的 01 字符串组成的集合 S. ...
- 【Android】使用Appium+python控制真机,碰到的问题以及处理(持续更新)
问题: selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Ori ...