【asp精品源码栏目提醒】:网学会员,鉴于大家对asp精品源码十分关注,论文会员在此为大家搜集整理了“信息化基础建设_开发框架 - 其它资料”一文,供大家参考学习!
开发框架1. ORM, LLBLGenNHibernate2. 接口与实现分离,界面与逻辑分离,分五个项目, BusinessLogicInterfaceManagerValidationEntryForm3. SQL 与 ORM4. 通讯集成 Remoting/WCF5. Control/Component:NumberiEditorTextEditorGridComboBoxListBoxListViewTree6. 异常7. 元数据ORM使用 ORM 可以减少大量的数据读写和绑定代码,做大型的项目,必须用 ORM再配合 CodeSmith 代码生成器,可以完成数据读写 90的代码。
界面与逻辑分离做一个 MIS 的库存项目,有四个项目BusinessLogic 业务逻辑,业务实体Interface 接口Manager 实现接口SystemAdministration/Inventory 界面这样达到的效果,1. 数据表新增加字段,界面部分不需要任何改动;2. 可以灵活的切换界面到 WPF/ASP.NET/Sliverlight3. 插件式 AddonPlugIn 式的开发,新增加功能,不需要改动原有的项目文件SQL 与 ORMORM 是跨平台的,要兼容所有的主流数据库,必需创建一种语法,以达到读写各种类型的数据库。
熟悉这个映射表,可以很快的入门,写出读写数据代码。
虽然这个步骤不是必须的(因为 CodeSmith 代码生成器会成 。
90的代码) 再配合 SQL 解析工具,输入 SQL 语句,实用程序SQLTranslate.exe可以自动翻译 SQL 为 ORM 的写法。
如果担忧 ORM 性能不好,可以直接使用 ADO.NET这个写法需要工具的配合,才能快速开发.这个代码生成器也是组合的方式,例如表名是 backupset Entity 实体 BackupSet ADO.NETGetSaveInsertUpdateGetList BackupSetDAL Interface 接口 IBackupSet Service 逻辑调用 BackupSetServiceASP.NET 应用代码生成器界面如下,配和 ADO.NET 或是 EnterpriseLibrary具有很强的威力。
最新版本的 ASP.NET 应用代码生成器,直接写成 CodeSmith 的模板。
这样,在改动生成的代码时,不需要任何编译动作。
CodeSmith 现有版本只支持.NET2.0不支持.NET3.5 和.NET4.0 虽然 CodeSmith6.0Alpha 已经释出,但是非常的不 stable.也没有 Studio 可以使用。
SQLProfiler 跟踪查询直接运行SQLProfile运行自己开发的SQLProfiler启动程序中增加配置节开启监听程序源代码如下或者运行如下的跟踪程序改进的智能提示支持当鼠标悬停在实体名上时,可以显示实体对应的表名当鼠标悬停在字段上时,可以显示字段对应的表名在 SQL 查询管理器中,当鼠标悬停在表名上时,可以显示表的注释创建表的描述创建字段的描述导入表中现有的字段描述,以达到最小的劳动量智能提示的设计演化过程1. 把提示内容放到 Access 数据库中,这样,拷贝到项目开发目录中即可。
遇到 ProviderMicrosoft.Jet.OLEDB.4.0 没有 64bit 的版本,编译时必须设置 x86 的平台格式,而不是 AnyCPU. 增加 ProviderMicrosoft.ACE.OLEDB.12.0,但是,在每台开发人员机器上安装这个组件,不太实现。
2. 使用 SQLExpress 这种方式的问题,还是需要配置 SQL,可尝试用 dbo4 之类的对象数据库,一个文件拷贝到指定 目录就可以(可行doable)3. SQLServer 内置实现方式,如下图 打开 SQLProfiler 秘密就在存储过程 sp_addextendedproperty最后,干脆做一个工具,专门用于更新字段的描述,这样会方便很多。
Remoting/WCF 通讯技术功能目标1. 应用程序服务器 Remoting/WCFServer2. ReportServer3. WorkflowServer4. 并发用户控制,跟踪日志输出Traceoutput,组件授权验证License 许可控制用 RSA 签名 xml 文件,生成不可修改的 xml 文件,以保护软件授权许可与硬件CPUHarddisk信息绑定,在生成 license 文件时,先要求用户运行一段实用程序,生成一个 hardware 的 sinature的文件,licensegenerator 依据这个文件生成许可文件。
与软件绑定, 比如演示版不允许数据库超过 2G 的容量大小SQLExpress 规定数据库大小不能超过 4G; 只能在规定的时间内运行,通常是一个月,过期后软件无法启动;不允许在虚拟机Virtual Machine中运行,因为虚拟机的原因,整个系统可以无限制的被 Ghost 还原;ReportExtension经典的 SQL 查询语句的写法是这样可以制作出客户报表现在我们换成这样的查询数据库的写法2 种方式,SQLProcedure 和.NETAssembly可维护性肯定后者强于前者,性能的损失也有.后者也只有程序员可以维护报表,客户不可能懂.NET.但是,面对日益复杂的业务逻辑,多数据库需求的客户(有的客户指定要用 Oracle)用.NETAssembly 应该是一种趋势。
数据库管理一个框架数据库,驱动多个业务数据库。
一个业务数据库可以看成一套帐,可以独立进行版本管理, 功能控制;也可以针对不同的客户需要,定制customization。
如下的注册公司的界面,Driver Assembly 和 Driver Type 即是注册客户定制的程序集,以达到同一个产品,维护多个客户,不同行业的客户的使用。
性能Reflection的损失是不可避免的,同时也带来相当可观的灵活性。
Microsoft 的产品也经常 Reflection为什么我们不可以,为一点斤斤计较的 Performance认证 authentication,授权 authorization 模式(AD/Forms/Windows)因为我们已经设计出了 ApplicationServer所以这个地方可以为所欲为,尽情的发挥。
看 K3 的登陆方式ActivityDirectory 的方式,是推荐的企业局域网构建方法,AD 带来的 PC 间相互信任的关系,好处简直让人不可忘却。
Forms 方式,可以对用户名和密码进行加密,可以记住用户名和密码,定期要求用户修改密码ReportingServices 的默认登陆方式是 Windows我们需要把它重写成 Forms很遗憾,即使是 MicrosoftSQLServer2008R2仍然需要手动修改配置文件,以改成 Forms 认证。
计划中,要制造一个小工具,来修改 ReportingServices 的认证方式,手动的配置有些复杂,容易出错。
再来看集成到 ERP 中的 ReportManager 的登陆方式再来看一下授权,三种权限:功能权限,字段权限,数据权限功能权限 基于角色的认证授权 对各子系统的功能模块的执行权限先设定用户组别权限再到用户注册时,设定用户所属的组别可实现 ERP 系统中 60的权限需求。
字段权限也实现,如上图,Demo 用户不可以访问所有的报表,但是可以读取所有的客户和供应商信息。
字段权限对某些特殊的字段进行控制,如仓库人员不可以看到采购员输入的物料单价,A 销售员,不可以看到 B 销售员的客户的联系方式,数据权限,是对具体数据的操作权限。
比如,当采购金额达到 10 万时,财务经理 FinanceManager 不可以直接修改;于是做出一个数据权限编辑器如图中显示的条件,采购单总金额大于 1000000费用大于 5000而且供应商为 Maskey.这个条件是可以动态增加和删除,在运行时,由表达式引擎负责解析表达式,传回表达式执行的结果。
异常处理在业务系统中,异常可实现 N 层撤消回滚的能力。
为了不暴露具体的产品实现细节,异常的显示方式,设计如下的异常对话框。
实现方式是注册当前应用程序域的 UnhandledException 事件,将异常显示在自定义对话框中。
AppDomain.CurrentDomain.UnhandledExceptionnewUnhandledExceptionEventHandlerCurrentDomain_UnhandledException观察一下 Microsoft 的产品对异常出错的提示,MicrosoftReportBuilderMicrosoftSQLServerSQLServer 出错窗体的左下方,有三个按钮,Help,CopymessagetextShowtechnicaldetailsShowtechnicalde
上一篇:
08年月助理工程师考试网络系统与维护试题
下一篇:
法律专业开题报告范文