我开发过的管理类软件大概有十种左右, 比如财务管理, 酒店管理,通讯录管理, 员工管理.... 所以想总结一些开发这类软件的经验, 仁者见人, 智者见智 有可能见笑于各位高手了. 我说的管理类软件只是单机模式的, 不涉及到B/S结构. 开发此类软件, 我一般把它分三层, 第一层是数据处理层, 也就是与数据库操作的接口层. 在这里可以定义一个类 DBInterface 来专门负责这一层的工作.( 用C#语言简要描述一下DBInterface 类) public class DBInterface { private SqlDatabaseConnection objDbc; //数据库连接对象 private SqlCommand objCmd; //SQL命令对象 private string strSqlStatement ; //SQL语句 private SqlException objExp; //数据库操作异常 private SqlDataReader objDr ; //数据记录集合 private int SqlEffectRows ; //数据操作的影响行数 ////......................................../// 方法的定义与实现 }; 这样, 就把设计到的数据处理借口所需的设备都封装进来了, 所有的高层处理都要调用这个类的方法来处理数据库, 所以在这一层产生的异常最好把它抛到高层, 高层可以根据抛出的异常做更合理的处理方案, 如果在这一层将异常处理的话, 是会造成高层的信息中断,最终影响用户的操作. 第二层是应用逻辑层, 在这层, 你应该把现实中处理到的具体事物抽象成为一个个类, 所有的这些类应该可以描述系统需求中的所有逻辑处理功能. 注意, 这一层不应该包括用户的操作接口, 操作界面, 以及数据终端视图. 这一层需要定义哪些类,类之间的通讯关系是什么, 这应该在系统总体设计方案中提出, 这一层事实上是构架中最难的, 必须充分分析系统需求, 设计方案已经成熟的前提下做, 否则风险是很大. 举一个简单的应用逻辑层类 public class Guest : public Person { private int iGuestID; private string strGuestRank; private System..DateTime coorperateDate; ///...................................../// } 第三层是应用视图层, 这一层的设计与人机界面直接相关, 所以应该在设计书上已经把大致的界面结构, 界面风格确定的前提下开始做, 这一层将包括很多对话框类, 窗体, 控件. 数据显示设备, 这一层将用户的物理操作事件启动响应的逻辑应用设备, 从逻辑层提供的目标数据和反馈消息, 处理成为终端界面. 提供用户交互. 举一个例子: public DataViewForm : public System.Windows.Form { private System.Windows.Form.TextBox txtGuestName; private System.Windows.Form.ListView lstRecordview; private System.Window.Form.Button btnClose; //// ................................//// } 三层构架总结: 1. Database Interface Layer : Data transport provider and sql command intepret 2. Application Logical Layer: Class libarary that describe system function. fetch data from layer 1, 3. Application View Layer: User Interface, Data operation panel, Translate user action. ================================================================= CopyRight (C) 2006-2 SGPRO

评论