摘要:
导读: 如果你的项目里面有十几万行代码你怎么去维护你的代码?你可以把你经常操作的文件放到哪里?如果不能怕代码你可以清晰定位你代码的位置吗?如果让你修该一个JS的话,可以马上定位到吗?如果去更新服务器代码不给路径,你能定位到吗?那么我希望当你看完这篇文章的时候,可以解决你下个项目的文件结构。 项目应用背景:数据请求全部要求是:HTML+JS+XML不允许使用VS自带的用户控件,最主要原因是为了兼容一套以后的JAVA服务器端 刚开始写代码的时候,就听说过用文件夹去管理你的代码,使其尽可能的明确的去管理你的代码,定位你代码的位置,下面是自己在可发一个项目的文件夹结构。自己业余时间吓画的,有点乱,但是
阅读全文
posted @ 2011-06-08 08:59
HackerVirus
阅读(501)
推荐(0)
摘要:
反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。公共语言运行库(CLR)加载器管理应用程序域,这些域在拥有相同应用程序范围的对象周围形成了确定边界。这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布局。 System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码 System.Reflection.Assembly System.Reflection.MemberInfo System.
阅读全文
posted @ 2011-06-08 08:58
HackerVirus
阅读(153)
推荐(0)
摘要:
我们继续上一篇".NET实现之(WebBrowser数据采集-基础篇)",由于时间关系这篇文未能及时编写;上一篇文章发布后,得来了部分博友的反对意见,觉得这样的文章没有意义,WebBrowser采集数据效率低下用WebRequest效率就能提高了,本人不理解,为什么同样是HTTP协议进行数据采集,效率能提高多少,在采集过程中同样要经历种种的高层协议向底层协议转换等过程,我个人感觉WebRequest是实现更多的扩展性,本人的WebBrowser数据采集,并不是谈抓取数据的效率,重点是讲解WebBrowser控件的原理,能用WebBrowser与HTML网页进行很方便的集成,
阅读全文
posted @ 2011-06-06 22:58
HackerVirus
阅读(308)
推荐(0)
摘要:
一、性能优化技术手段01)主界面菜单设置为输出缓存10分钟,每个用户10分钟之内不用多次请求数据库。02)网格数据采用AJAX分页,支持带查询条件翻页。大文本的网格数据自动使用...显示部分内容。03)大数据量的无限多级树形结构,采用动态延迟加载机制,提高及时响应能力。04)采用AJAX请求编辑信息,无刷新加载弹出窗口,数据量极小。05)支持混合输出 HTML+JSON,客户端解析AJAX输出结果。06)主界面、列表、树形、编辑、权限的脚本设置为分部视图,自动加载调试、发布状态的 CSS、JS 文件。07)工具栏提取为公用模块,设置为分部视图,根据权限动态加载。08)CSS Spirits 合
阅读全文
posted @ 2011-06-06 22:57
HackerVirus
阅读(475)
推荐(1)
摘要:
对于SqlServer的优化来说,可能优化查询是很常见的事情。关于数据库的优化,本身也是一个涉及面比较的广的话题, 本文只谈优化查询时如何看懂SqlServer查询计划。由于本人对SqlServer的认识有限,如有错误,也恳请您在发现后及时批评指正。首先,打开【SQL Server Management Studio】,输入一个查询语句看看SqlServer是如何显示查询计划的吧。说明:本文所演示的数据库,是本人写的一个演示程序专用的数据库,可以在此网页中下载。select v.OrderID, v.CustomerID, v.CustomerName, v.OrderDate, v.SumM
阅读全文
posted @ 2011-06-06 22:41
HackerVirus
阅读(186)
推荐(0)
摘要:
前段时间又把类库修改了一番,把它放到了google的开源项目里;开源地址:http://code.google.com/p/gsmmodem/花了一段时间,学了下单元测试,添加了一个测试项目,假如单元测试同时发现不少bug,对其做了修改作为开源项目gsmmodem放到了google上。项目文件结构:Exception文件夹:本打算对程序的异常处理做一次比较系统的改动(原类库几乎没有异常机制),只添加了一个类,异常处理等还未加入,有待于改进;ISerialPort接口:测试项目测试串口用,因短信猫发送短信收费,以及用时较长,测试采用moq对串口建立mock对象以进行测试测试项目:单元测试框架选用
阅读全文
posted @ 2011-06-06 22:39
HackerVirus
阅读(1918)
推荐(1)
摘要:
导读:配置可以让你的网站灵活性更大,把功能点做成可以配置的,对一个经常变化的项目,很有必要,那么我们现在看看你的站点有多少是可配置的?(一)一个项目有几个站点是可以配置的原因:在一个大型的项目里面,项目里有几个站点是很正常的,比如你要为一个部门分两个站点,没个站点做不同的工作,不同的人员可以进入不同的站点,当前员工定制了自己的站点就可以访问自己定制的站点,给整个部门定制一样的站点等等,这个做成可配置的一点也不过分吧(二)一个站点下有几个菜单是可以配置的原因:一个站点可以有N个菜单,可怕的用户总在变自己的需求,比如这个菜单用户希望在前面,这个菜单用户希望在后面,多一个菜单,少一个菜单,如果只该下
阅读全文
posted @ 2011-06-06 22:20
HackerVirus
阅读(231)
推荐(0)
摘要:
历时一个多月的时间,代码重构系列终于写完了,代码的坏味道大家一看都不会陌生,绝对是在我们的编程中如影随形的,现在把相应的重构方法和设计模式总结出来,以供大家参考.因为不论是重构还是应用设计模式,一切的目的都是为了软件构架的“优雅”,而不是炫耀技术。步步为营 .NET 代码重构学习笔记系列步步为营 .NET 代码重构学习笔记 一、为何要代码重构步步为营 .NET 代码重构学习笔记 二、提炼方法(Extract Method)步步为营 .NET 代码重构学习笔记 三、内联方法(Inline Method)步步为营 .NET 代码重构学习笔记 四、临时变量(Temporary Variable)步步
阅读全文
posted @ 2011-06-06 22:18
HackerVirus
阅读(191)
推荐(0)
摘要:
一、Replace Exception with Test(以测试取代异常)动机(Motivation)面对一个[调用者可预先加以检查]的条件,你抛出了一个异常。修改调用者,使它在调用函数之前先做检查。示例01privateDictionary<int,string> _values;0203publicdoubleGetValueForPeriod(intperiodNumber)04{05try06{07return_values[periodNumber];08}09catch10{11return0;12}13}改为1privateDictionary<int,str
阅读全文
posted @ 2011-06-06 22:17
HackerVirus
阅读(177)
推荐(0)
摘要:
一、Form Templlate Method(塑造模板函数)动机(Motivation)有一些subclasses,其中相应的某些函数以相同顺序执行类似的措施,但各措施实际上有所不同。将各个措施分别放进独立函数中,并保持它们都有相同的签名式(signature),于是原函数也就变得相同了。然后将原函数上移至baseclass。示例01publicabstractclassSite02{03privatedouble_unit;04privatedouble_rate;05privatedouble_taxRate;0607publicdoubleTaxRate08{09get{return_
阅读全文
posted @ 2011-06-06 22:17
HackerVirus
阅读(239)
推荐(0)