随笔分类 - OO.设计思考
设计问题-泛型接口问题
摘要:监控系统改版导致的问题。 原因 数据实体使用泛型接口 由于需要支持配置的方式 问题 如何设计各个接口 由于不能把具体泛型的类型写入到配置文件中,那么怎么实现工厂呢? 怎么才能去掉其中的object,使用强类型呢? wraper 类怎么实现呢。
阅读全文
大型系统开发
摘要:1.每个工具只负责自身的工作,相关的产物,放在对应的worker表, 由worker轮询把任务下发到下一步的处理者。 大型系统复杂性高,每个步骤都可能涉及多个后继步骤,如果实时处理,耦合性高,程序不稳定,耗时。 使用worker,可以实现异步操作,对错误进行更好的管理,解耦。 需要实现申请制度。 2.读写分离 数据库读写分离,可以大大提高数据的写入速度和读取速度。 3.面向服务。 可以降低耦合,降...
阅读全文
配置模块开发(原创)
摘要:无论是winform,还是asp.net,如果可以开发成可配置的,就可以大大减少更新程序的次数了,而.net对这方面的支持也很好,是以面向对象方式处理的。1.配置节点,配置元素。下面的代码示例是用于处理这样的xml配置片段<LogHandle> <ReportHandle Use ="true" Interval="1" ManualHandleType="EMAIL">...
阅读全文
业务实体 & 数据实体
摘要:实体模型采用数据实体采用业务实体 数据访问orm的实现代码生成器属于是数据库的映射向于ado.net并不是数据库表的简单映射,而是基于领域模型的数据组合 工作量往往工作量很大工作量较小 复用性复用性较好很多业务实体基本复用性很小。 业务实现需要创建业务操作类,使用大量的数据实体类,组合为单个的业务类。不需要为每个业务都实现新的持久化操作,很多时候是不同的实体组合。业务实体就是业务的主要操作...
阅读全文
软件设计
摘要:我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢? 将下列原则应用到你的软件工程中,你会获得立杆见影的成果。 1. 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterprise Ja...
阅读全文
阅读代码,分析现有系统。
摘要:不要拍脑门,要按部就班的,不能马虎! 设计完成时评估开发时间的技巧 把握好,设计 和 开发 ,设计好了才启动开发。 重构时,的一些思路,方法 0.解决方案的具体设计工作必须已经确定好。 1.程序分支较多:如多文档目录处理,界面上的变化。这种时候适合用画流程图的方式,通过掌握所有的流程,计算开发时间。 2.版本重构:如连载平台大赛版本,这个时候,因为很多东西都是现有的,但是要重新整合,这种...
阅读全文
需求分析
摘要:需求分析要深入,文档中的页面,内容只是一小部分需求,在这些后面还有大量的后续工作(很多功能都是一个流程,必须考虑每个步骤,这样才能确定最终的实现方式),有很多是隐形需求,这些需求必须仔细分析讨论,这些需求并不都是开发人员的工作,如果不仔细讨论,那么就会成为开发的工作(不要给自己揽活)。 写需求分析文档时,要写清楚那些是认同的需求,那些是不明白的,那些是有异议的,之后再找业务部门继续讨...
阅读全文
需求分析
摘要:需求分析要深入,文档中的页面,内容只是一小部分需求,在这些后面还有大量的后续工作(很多功能都是一个流程,必须考虑每个步骤,这样才能确定最终的实现方式),有很多是隐形需求,这些需求必须仔细分析讨论,这些需求并不都是开发人员的工作,如果不仔细讨论,那么就会成为开发的工作(不要给自己揽活)。 写需求分析文档时,要写清楚那些是认同的需求,那些是不明白的,那些是有异议的,之后再找业务部门继续讨论。 一定...
阅读全文