信息化基础建设系列文章汇总 .NET 平台业务项目实践
最近一段时间一直思考和总结,如何快速,方便灵活的开发.NET平台的ERP/MIS类型软件系统。
在此之前,写过一个系列的文章来表达我的理解,一共有以下八篇文章
- 信息化基础建设 总体结构
- 信息化基础建设 开发框架
- 信息化基础建设 窗体开发
- 信息化基础建设 窗体特性
- 信息化基础建设 报表开发
- 信息化基础建设 Reporting Services报表开发
- 信息化基础建设 消息引擎
- 信息化基础建设 工作流开发
之后,又对这个系列的主题文章进行补充完善,有以下八篇文章
- 信息化基础建设 持续改进框架
- 信息化基础建设 数据库文档
- 信息化基础建设 数据字典
- 信息化基础建设 业务报表
- 信息化基础建设 ERP代码生成器(开源,提供源码下载)
- 信息化基础建设 多种编程语言开发
- 信息化基础建设 里程碑
- 信息化基础建设 ORM 常见错误
一共是十六篇文章,以分享自己的.NET平台业务项目实践经验。
这个过程中,也开放了少量的代码和工具,请到epn.codeplex.com上获取相关的源码和文档。
EPN是一套以ORM技术为基础的C#.NET WinForms开发工具,框架和业务实践,名称取自英文单词Intellligent Enterprise Solution的简写。随着时间的推移,逐步得到完善。
心里也一直想推广这个技术实践,虽然还有很多地方不完善,但是没有源码,大多数的开发人员并不感兴趣。曾经把源码,Visual Studio 2008/2010,SQL Server 2005都安装在一个虚拟机里面,供开发人员直接下载使用框架进行开发,效果也不好。对于开发人员,对微软的源代码是没有什么兴趣的,微软的很多框架,工具表面上不开源,但是你用Reflector同样可以得到它的源码,对此,我深有体会,容易得到的东西,通常都不会珍惜。
这个系列的文章,也没有打算完全把自己的业务框架开源,而是想构建一个轻量级的业务框架,并把它开放源码。轻量级的含义是指仍然是完整的开源业务框架,但是缺少开发工具的支持,缺少集成的业务系统,只支持一种数据库。
先搭个框架页面,来看看要达到的效果
这是个测试页面,你可以使用下面这篇文章中提到的源代码框架,快速建立这个模型。
请参考文章《Management Console 工具管理类软件通用开发框架(开放源码)》获取原型框架的代码。
需求列出
- 多国语言,要能实现多种语言的界面,先支持英语,中文简体和繁体。
- 实现四大类标准的窗体
EntryForm 业务单据窗体 比如输入采购单,采购送货
ReportForm 报表窗体 比如送货单报表,采购单追踪报表
EnquiryForm 业务查询窗体 查询已经过帐的业务单据窗体
FunctionForm 功能窗体 基本的功能 比如月结 - 报表可以通过浏览器访问,选择Reporting Services作为报表方案最合适。
- 工作流支持。支持简单的提醒,审批,日记帐过帐工作流,可自定义流程。
- 权限部分 日记帐权限,系统管理权限(数据库操作,用户管理)
- 数据审计 可对指定的业务数据,设定审计,以跟踪变化。
技术方案列出
- 既然是WinForms,肯定要选ORM工具,选择LLBL Gen 3.1。ORM工具+Data Binding可以减少很多代码。不选择NHibernate,也不选择Entity Framework,因为对这两个框架不熟悉,用起来不顺手。
- 数据库选择SQL Server,稳定,容易使用的数据库。如果做.NET开发,SQL Server通常是默认的数据库选择。
- 应用层使用.NET Remoting作为支持数据访问的入口,可以处理并发,多用户在线的情况。
总结:不要打击开源,源码总有适合阅读的人;也不要依赖开源,源代码也解决不了你的问题,做项目大部分的时间靠积累,靠沉淀。有机会接触到百万行级别的代码是幸运,也是不幸运的开始,你要从成堆的代码中理出头绪,挖掘出骨干框架,也并非容易的事情,最后若能以此提炼出开发框架,也算是一种努力。保护源代码,给程序集加密是一回事,分享源代码中的经验是另一回事,爱情向左,婚姻向右,你总得要找出一些事情来做,给自己的生活带来一丝改变。
信息化基础建设系列文章汇总 .NET 平台业务项目实践相关推荐
- 《快速构建Windows 8风格应用》系列文章汇总
<快速构建Windows 8风格应用>系列的文章基于XAML+C#进行编写,汇总了Windows 8 Store应用开发过程中常用的开发技术点. 对于我个人来说,将自己平时学习和开发过程中 ...
- Selenium自动化测试系列文章汇总
selenium系列文章汇总 Selenium自动化测试-selenium介绍及环境安装 Selenium自动化测试-浏览器基本操作 Selenium自动化测试-元素定位(1) Selenium自动化 ...
- 一步步实现windows版ijkplayer系列文章之一Windows10平台编译ffmpeg 4.0.2,生成ffplay
一步步实现windows版ijkplayer系列文章之一Windows10平台编译ffmpeg 4.0.2,生成ffplay 最近想研究下ffplay的代码,学习代码是枯燥无味的,也是抽象的,学习一个 ...
- 【Matlab 六自由度机器人】系列文章汇总
[Matlab 六自由度机器人]系列文章汇总 前言 正文 ⧫[主线]\blacklozenge \fcolorbox{black}{aqua}{[主线]}⧫[主线] ⧫[补充说明]\blackloz ...
- 【数据库系统】数据库系统学习与实践系列文章汇总目录(持续更新中)
本文属于「数据库系统」系列文章的汇总目录,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏本文以作备忘.需要特别说明的是,为了透彻理解和全面掌握数据库系统 ...
- 值得收藏 |140+页文章推荐系统系列文章汇总
这里简单说下为什么要写系列的文章,虽然系列的文章很不吃香,阅读率也是惨淡的一笔,可能很多人更爱看的是「标题党」.「八卦文」.「科普文」这样的.但我觉得系列文和技术文是真的很考验作者的,首先要面临惨淡的 ...
- UML基础与应用系列文章汇总
统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言.UML为面向对象开发系统的产品进行说明.可视化.和编制文 ...
- 『曹大带我学 Go 』系列文章汇总
你好,我是小 X. 之前写了 11 篇跟着曹大学 Go 的文章,今天来汇总一下. 曹大的功力深厚,但能学到多少全看自己.第一期 Go 训练营也早就结束了,但学习还得继续.后面我也会继续发布这个系列,希 ...
- 【离散数学】离散数学系列文章汇总目录(持续更新中)
本文属于「离散数学」系列文章的汇总目录.这一系列着重于离散数学的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏本文以作备忘.此外,在本系列学习文章中,为了透彻理解离散数学,本人参考了诸多博客 ...
最新文章
- ORA-20204 错误
- 你以为的论文答辩,实际的论文答辩,看着看着就哭系列
- 使用Flex生成GUID
- 淡黄色电子书阅读器网站模板
- leetcode —— 面试题17. 打印从1到最大的n位数
- 【重难点】【JUC 05】线程池核心设计与实现、线程池使用了什么设计模式、要你设计的话,如何实现一个线程池
- JS实现图片翻书效果
- 数据科学家必会的六大 NLP 技术!
- AI医疗--概念,应用场景及现状解析
- 【Java并发性和多线程】竞态条件与临界区
- python helper函数_用Python中的helper函数对ABC进行单元测试
- blob和clob类型数据怎么插入数据库
- scylladb集群管理
- 项目实训-中医药知识图谱5
- [Python|生信]从Fasta文件出发获取序列的基本信息
- win10win键无反应_Win10系统桌面右键如何解决弹出菜单慢/无反应?
- ACL 2021 Question Answering
- 5个炫酷登录页面,拿去就能用(附源码)
- SQL语句 SQL Server(代码添加约束:主键约束,外键约束,默认值约束,check约束,规则约束)
- Android apk签名获取方法