最近一段时间一直思考和总结,如何快速,方便灵活的开发.NET平台的ERP/MIS类型软件系统。

在此之前,写过一个系列的文章来表达我的理解,一共有以下八篇文章

  1. 信息化基础建设 总体结构
  2. 信息化基础建设 开发框架
  3. 信息化基础建设 窗体开发
  4. 信息化基础建设 窗体特性
  5. 信息化基础建设 报表开发
  6. 信息化基础建设 Reporting Services报表开发
  7. 信息化基础建设 消息引擎
  8. 信息化基础建设 工作流开发

之后,又对这个系列的主题文章进行补充完善,有以下八篇文章

  1. 信息化基础建设 持续改进框架
  2. 信息化基础建设 数据库文档
  3. 信息化基础建设 数据字典
  4. 信息化基础建设 业务报表
  5. 信息化基础建设 ERP代码生成器(开源,提供源码下载)
  6. 信息化基础建设 多种编程语言开发
  7. 信息化基础建设 里程碑
  8. 信息化基础建设 ORM 常见错误

一共是十六篇文章,以分享自己的.NET平台业务项目实践经验。

这个过程中,也开放了少量的代码和工具,请到epn.codeplex.com上获取相关的源码和文档。

EPN是一套以ORM技术为基础的C#.NET WinForms开发工具,框架和业务实践,名称取自英文单词Intellligent Enterprise Solution的简写。随着时间的推移,逐步得到完善。

心里也一直想推广这个技术实践,虽然还有很多地方不完善,但是没有源码,大多数的开发人员并不感兴趣。曾经把源码,Visual Studio 2008/2010,SQL Server 2005都安装在一个虚拟机里面,供开发人员直接下载使用框架进行开发,效果也不好。对于开发人员,对微软的源代码是没有什么兴趣的,微软的很多框架,工具表面上不开源,但是你用Reflector同样可以得到它的源码,对此,我深有体会,容易得到的东西,通常都不会珍惜。

这个系列的文章,也没有打算完全把自己的业务框架开源,而是想构建一个轻量级的业务框架,并把它开放源码。轻量级的含义是指仍然是完整的开源业务框架,但是缺少开发工具的支持,缺少集成的业务系统,只支持一种数据库。

先搭个框架页面,来看看要达到的效果

这是个测试页面,你可以使用下面这篇文章中提到的源代码框架,快速建立这个模型。
请参考文章《Management Console 工具管理类软件通用开发框架(开放源码)》获取原型框架的代码。

需求列出

  1. 多国语言,要能实现多种语言的界面,先支持英语,中文简体和繁体。
  2. 实现四大类标准的窗体
    EntryForm 业务单据窗体 比如输入采购单,采购送货
    ReportForm 报表窗体 比如送货单报表,采购单追踪报表
    EnquiryForm 业务查询窗体 查询已经过帐的业务单据窗体
    FunctionForm 功能窗体 基本的功能 比如月结
  3. 报表可以通过浏览器访问,选择Reporting Services作为报表方案最合适。
  4. 工作流支持。支持简单的提醒,审批,日记帐过帐工作流,可自定义流程。
  5. 权限部分 日记帐权限,系统管理权限(数据库操作,用户管理)
  6. 数据审计 可对指定的业务数据,设定审计,以跟踪变化。

技术方案列出

  1. 既然是WinForms,肯定要选ORM工具,选择LLBL Gen 3.1。ORM工具+Data Binding可以减少很多代码。不选择NHibernate,也不选择Entity Framework,因为对这两个框架不熟悉,用起来不顺手。
  2. 数据库选择SQL Server,稳定,容易使用的数据库。如果做.NET开发,SQL Server通常是默认的数据库选择。
  3. 应用层使用.NET Remoting作为支持数据访问的入口,可以处理并发,多用户在线的情况。

总结:不要打击开源,源码总有适合阅读的人;也不要依赖开源,源代码也解决不了你的问题,做项目大部分的时间靠积累,靠沉淀。有机会接触到百万行级别的代码是幸运,也是不幸运的开始,你要从成堆的代码中理出头绪,挖掘出骨干框架,也并非容易的事情,最后若能以此提炼出开发框架,也算是一种努力。保护源代码,给程序集加密是一回事,分享源代码中的经验是另一回事,爱情向左,婚姻向右,你总得要找出一些事情来做,给自己的生活带来一丝改变。

信息化基础建设系列文章汇总 .NET 平台业务项目实践相关推荐

  1. 《快速构建Windows 8风格应用》系列文章汇总

    <快速构建Windows 8风格应用>系列的文章基于XAML+C#进行编写,汇总了Windows 8 Store应用开发过程中常用的开发技术点. 对于我个人来说,将自己平时学习和开发过程中 ...

  2. Selenium自动化测试系列文章汇总

    selenium系列文章汇总 Selenium自动化测试-selenium介绍及环境安装 Selenium自动化测试-浏览器基本操作 Selenium自动化测试-元素定位(1) Selenium自动化 ...

  3. 一步步实现windows版ijkplayer系列文章之一Windows10平台编译ffmpeg 4.0.2,生成ffplay

    一步步实现windows版ijkplayer系列文章之一Windows10平台编译ffmpeg 4.0.2,生成ffplay 最近想研究下ffplay的代码,学习代码是枯燥无味的,也是抽象的,学习一个 ...

  4. 【Matlab 六自由度机器人】系列文章汇总

    [Matlab 六自由度机器人]系列文章汇总 前言 正文 ⧫[主线]\blacklozenge \fcolorbox{black}{aqua}{[主线]}⧫[主线]​ ⧫[补充说明]\blackloz ...

  5. 【数据库系统】数据库系统学习与实践系列文章汇总目录(持续更新中)

    本文属于「数据库系统」系列文章的汇总目录,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏本文以作备忘.需要特别说明的是,为了透彻理解和全面掌握数据库系统 ...

  6. 值得收藏 |140+页文章推荐系统系列文章汇总

    这里简单说下为什么要写系列的文章,虽然系列的文章很不吃香,阅读率也是惨淡的一笔,可能很多人更爱看的是「标题党」.「八卦文」.「科普文」这样的.但我觉得系列文和技术文是真的很考验作者的,首先要面临惨淡的 ...

  7. UML基础与应用系列文章汇总

            统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言.UML为面向对象开发系统的产品进行说明.可视化.和编制文 ...

  8. 『曹大带我学 Go 』系列文章汇总

    你好,我是小 X. 之前写了 11 篇跟着曹大学 Go 的文章,今天来汇总一下. 曹大的功力深厚,但能学到多少全看自己.第一期 Go 训练营也早就结束了,但学习还得继续.后面我也会继续发布这个系列,希 ...

  9. 【离散数学】离散数学系列文章汇总目录(持续更新中)

    本文属于「离散数学」系列文章的汇总目录.这一系列着重于离散数学的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏本文以作备忘.此外,在本系列学习文章中,为了透彻理解离散数学,本人参考了诸多博客 ...

最新文章

  1. ORA-20204 错误
  2. 你以为的论文答辩,实际的论文答辩,看着看着就哭系列
  3. 使用Flex生成GUID
  4. 淡黄色电子书阅读器网站模板
  5. leetcode —— 面试题17. 打印从1到最大的n位数
  6. 【重难点】【JUC 05】线程池核心设计与实现、线程池使用了什么设计模式、要你设计的话,如何实现一个线程池
  7. JS实现图片翻书效果
  8. 数据科学家必会的六大 NLP 技术!
  9. AI医疗--概念,应用场景及现状解析
  10. 【Java并发性和多线程】竞态条件与临界区
  11. python helper函数_用Python中的helper函数对ABC进行单元测试
  12. blob和clob类型数据怎么插入数据库
  13. scylladb集群管理
  14. 项目实训-中医药知识图谱5
  15. [Python|生信]从Fasta文件出发获取序列的基本信息
  16. win10win键无反应_Win10系统桌面右键如何解决弹出菜单慢/无反应?
  17. ACL 2021 Question Answering
  18. 5个炫酷登录页面,拿去就能用(附源码)
  19. SQL语句 SQL Server(代码添加约束:主键约束,外键约束,默认值约束,check约束,规则约束)
  20. Android apk签名获取方法

热门文章

  1. JavaScript ES6箭头函数指南
  2. android SurfaceView
  3. Metrics —— JVM上的实时监控类库
  4. 从mongodb中查询数据
  5. 3TB-GPT-MBR
  6. python与编码方式
  7. 怎样在Win7系统建立并开启Wifi热点
  8. unicode 版本 delphi (如XE2)的 TBytes 转换为 AnsiString
  9. Linux 性能监测工具
  10. 数据绑定控件之Repeater