摘要: 今天在写一个windows service ,其中有引用另外一个项目写日志,结果vs编译时抛出异常,missing an assembly reference ,当时傻眼了,明明有引用,就是编译通不过,vs文本提示也是找不到引用,到底问题出在哪呢,再清理项目,关掉vs依然不行,在检查两个项目的.net framework 版本,发现版本不一致,终于找到问题所在,改变版本后OK。如需转载请注明本文出处:http://www.cf17.com/html/article/1107.html,谢谢。在http://www.cf17.com中的技术文档中有我平时总结的一些经验,并在逐步更新中,也欢迎到这 阅读全文
posted @ 2013-04-15 11:21 berry zhou 阅读(244) 评论(0) 推荐(0)
摘要: 我们在设计一个系统核心组件的时候需要注意什么,这也是我经常问自己的,前段时间在开发http://www.cf17.com 这个cms系统的时候,就遇到需要设计一个cms的模板解析引擎,这个应该算的上是系统的核心组件,我就把这块独立成一个项目开发,不光是这个项目可以使用,将来如果开发另一套cms的时候依然可以使用,其实这个组件就设计多个类,那么怎么去界定类的方法,还有内部调用问题,如果设计的好,组件是很容易维护的,耦合度较低,如果设计的不好,那将来可能面临需要重构或是重写。我们仔细的想想设计一个类需要注意什么,其实很简单,遵循类的单一原则,一个类只干一件事情,这个概念听起来很简单,但是实际设计的 阅读全文
posted @ 2013-02-05 10:03 berry zhou 阅读(369) 评论(0) 推荐(0)
摘要: 在软件设计中或是系统架构中,类的单一原则是非常重要的原则,这个也关系到整个系统可维护性,可扩展性,类的单一原则这个概念其实是很容易理解的。首先介绍一下类的单一原则概念:类的单一原则:一个类,只做一件事,只有一个引起它变化的原因。怎么理解类的单一原则这个概念呢?打一个现实中的列子,比如人类,它是一个类,人类有人类的属性跟方法,人不能有跟人类无关的属性跟方法,比如人有手脚,但人不能有车的轮子,这就不是人。这个概念我就不继续举例了,这个概念应该很容易理解。 现在说一下本文的重要中心,我想说的,万物都是相同的,编程也不例外,就像美国人设计飞机,都还在模仿动物呢。既然一个类只能干一个事情,那一个模块,一 阅读全文
posted @ 2012-11-14 15:38 berry zhou 阅读(119) 评论(0) 推荐(0)
摘要: 经常在我们的业务系统中,表的增长比较快,表的数据量非常庞大,这时我们需要建立一个新表来替代它,那怎么快速的把这新表方上去呢?如人工操作,有可能是会影响业务系统的,所以我们考虑用命令的方式来处理。主要的方式是就是使用系统自带的存储过程:sp_renameexecsp_rename'Oldtable','newtable'execsp_rename'Oldtable','newtable'execsp_rename'newtable','Oldtable'经过如下转换,新表变成与旧表就互相换了一下名字, 阅读全文
posted @ 2012-11-14 15:36 berry zhou 阅读(224) 评论(0) 推荐(0)
摘要: 在使用sql server 数据库时,你一定会遇到数据导入,一般小批量的导入,可以写个小程序做一下导入即可,但是对导入速度有一点要求的话,就必须使用sql server 提供的两个方法,BULK INSERT,SqlBulkCopy。1.BULK INSERT基本语法如下:BULK INSERT TableB FROM 'c:\\20w.txt' WITH (FIELDTERMINATOR = ',',ROWTERMINATOR='|',BATCHSIZE = 100000),'c:\\20w.txt' 服务器文件放置位置(必须放 阅读全文
posted @ 2012-11-14 15:35 berry zhou 阅读(394) 评论(0) 推荐(0)
摘要: 在我们系统内部其实很多模块与模块之间是有很多耦合(就是一个对象需要调用另一个对象)关系的。既然是有关系,这种关系又不能断,那么只能想办法去把建立一个稳定的关系,把耦合度降到最低。如果是直接耦合,那这种就相当于耦合非常高,我们设计程序的时候最忌讳这样,这样的后果就是,互相进行了限制,彼此互相限制了对方的发展。具体怎么做才能使耦合度降到最低呢,这个是我们做为程序员一直最求的,便于维护,便于扩展。相信三层架构你们应该非常熟悉,它的划分大致为,UI(展示层)层,BLL(逻辑层)层,DAL(数据访问层),最终的效果是UI,展示层需要逻辑,需要数据,这种关系不能没有,既然不能使这关系断掉,那就让彼此依然一 阅读全文
posted @ 2012-10-23 09:21 berry zhou 阅读(122) 评论(0) 推荐(0)
摘要: 在将近三年时间里开发维护我们公司的系统,总体来讲问题太多,问题多真的不一定是坏事,它能让你学的更多,总结很多经验,突然意识到系统设计是那么的重要,下面我个人可能认为是比较重的东西跟大家分享一下。 1. 设计系统时要对系统进行一步一步的抽象,需要从上至下的设计,或者说由高至低的设计,并且需要了解系统外部环境,跟那些系统打交道。系统之间是怎么通信,怎么交互的(这里的前提是已经充分的了解系统需求,也就是需求分析)。从而得到系统的第一个抽象图,例如我们公司的ERP整个系统布局图。系统设计画图是必要的一个步骤,毕竟图是比较直观的,相对于语言描述来讲。有了第一个抽象图,我们就可以根据实际的应用去切系统.. 阅读全文
posted @ 2012-10-19 13:46 berry zhou 阅读(296) 评论(0) 推荐(0)
摘要: sql 左连接(left join),右链接(right join) 条件放在on和放在where 的区别,到底区别在哪呢?我们来做一个测试,现在我们有两个表,产品表(Product) 销售表(Sales),现在我们要统计某一个产品的销售数量,并且外加一个条件是类型等一个特殊的类型。--产品表Create table #Product(ID int identity(1,1), --产品IDName varchar(50), --产品名称PdType char(2) --产品类型)--销售表Create table #Sales(Product_ID int,--产品IDName varcha 阅读全文
posted @ 2012-10-15 20:41 berry zhou 阅读(831) 评论(0) 推荐(0)
摘要: 我相信你看到这个标题是你肯定会反对,我们日常的开发不就是围绕需求去开发吗?这个问题提的很好,其实我们日常的设计就走到了这个误区。我不保证所有的人跟我一样,,我之前就没有意识到,只是一味的去根据需求开发。打个比方,现在公司有一个需求,需要开发一个卖笔的销售系统,销售系统太大,就说订单系统好了。这时你所有的设计在卖笔,某一天你的卖笔的订单系统做好了,确实也能正常使用,确实也完成了你的任务。好了现在老板说我们发现买书也很赚钱,这个时候就会发现,系统根本就支持不了,没办法扩展。相信到这里你还是没有发现问题所在.再举一个例子,比如现在我们有一个需求,要记录一个字段的变化前和变化后,需求很简单,你可能.. 阅读全文
posted @ 2012-10-15 11:15 berry zhou 阅读(625) 评论(4) 推荐(0)