Fork me on GitHub

2010年5月12日

摘要: 去年的十二月我开始撰写EOM与程序员的随笔。当我写到程序员收入下降,程序员成为IT农民工,程序员水平下降,程序员理想无存,程序员信心丧失,程序员队伍涣散的时候,我的心情就像当时的季节一样,非常寒冷,非常心痛。要知道程序员是我一个向往并且从事的几十年的职业呀!当我写到什么是EOM,写到用EOM眼光看待一个编程实例(权限管理)的时候,我开始感觉到那种暖意,就如同现在春天到了,春风吹了,原来枯萎的树枝冒... 阅读全文
posted @ 2010-05-12 09:18 HackerVirus 阅读(379) 评论(0) 推荐(0)
摘要: 意图 用一个中介对象来封装一系列对象的交互。中介者使得各对象不需要显式相互引用,从而使其松散耦合,而且可以独立地改变它们之间的交互。场景我们知道,一个网络游戏往往有很多大区。每一个大区可以是一组服务器,也可以是多组服务器,在这里假设一个大区是一组服务器。为了效率,一般每个大区都会有一个数据库,玩家的创建角色、充值、消费行为只是在这一个大区中有效。现在公司有了新的需求,那就是玩家的一些信息能在多个大... 阅读全文
posted @ 2010-05-12 00:39 HackerVirus 阅读(326) 评论(0) 推荐(0)
摘要: 比较设计模式常用程度适用层次引入时机结构复杂度Abstract Factory比较常用应用级设计时比较复杂Builder一般代码级编码时一般Factory Method很常用代码级编码时简单Prototype不太常用应用级编码时、重构时比较简单Singleton很常用代码级、应用级设计时、编码时简单Adapter一般代码级重构时一般Bridge一般代码级设计时、编码时一般Composite比较常用... 阅读全文
posted @ 2010-05-12 00:33 HackerVirus 阅读(304) 评论(0) 推荐(0)
摘要: 技术就好像一片汪洋大海,越深入越望不到边际。就拿自己的体验来说吧,2000年的时候在学校搞ASP,觉得网页开发就是这么简单,把数据库中的数据格式化一下显示在页面上,把用户的输入组装成添加删除和修改的SQL提交到数据库中去。几年后的今天,我对自己了解或听说过的ASP.NET相关(注意:仅仅是ASP.NET或者说网站制作相关)技术列了一下: 在这些语言、技术、工具、理念中,每一项都能扩展出很多还要细化... 阅读全文
posted @ 2010-05-12 00:31 HackerVirus 阅读(289) 评论(1) 推荐(1)
摘要: 今天看到CSDN中的两个讨论贴,一个帖子在说技术经理不允许团队成员使用面向对象的方式开发程序,另外一个帖子(找不到地址了)说某个团队成员在尝试使用面向对象的方式设计和写程序,但是遭到了其它程序员的鄙视。或许你也在郁闷,为什么跳槽了这么多公司,想学一些面向对象的开发方式,怎么弄来弄去都还是基于对象(基于面向对象框架的开发)的开发呢?我想,其中的原因可以从几个方面来说:公司公司性质如果公司本身就是一个... 阅读全文
posted @ 2010-05-12 00:10 HackerVirus 阅读(258) 评论(0) 推荐(0)
摘要: 或许大家会说,网上已经很多类似文章了,包括孟子的,为什么要再写一次? 我想我们不仅仅要会实现,更多的是需要理解。 下面先帖出代码,再分析一下其中的一些关键代码。 数据库表名:tb1,其中有3个字段,分别是ID自增的主键、vName varchar(50)、iAge int (以下代码没有做任何错误捕获处理) 前台 <%...@ Page language="c#" Codebehind="W... 阅读全文
posted @ 2010-05-12 00:05 HackerVirus 阅读(305) 评论(0) 推荐(0)
摘要: ASP.NET TRACE是一个不错的功能可以收集下列信息Request DetailsTheRequest Detailssection displays general information about the current request and response.ValueDescriptionSession IDThe session identification for the s... 阅读全文
posted @ 2010-05-12 00:02 HackerVirus 阅读(428) 评论(0) 推荐(0)

2010年5月11日

摘要: 页面上数十个脚本和样式文件怎么去合并又少写人工干预?首先,使用查找替换把所有的<script>和<link>替换为<resource>然后在<resrouce>中加上runat="server":母板页:<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.maste... 阅读全文
posted @ 2010-05-11 23:58 HackerVirus 阅读(264) 评论(0) 推荐(0)
摘要: 我们知道,对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:首先是横向的分:1. 大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵活地去把这些网站部署到不同的服务器上。2. 静态动态分离:静态文件和... 阅读全文
posted @ 2010-05-11 23:53 HackerVirus 阅读(320) 评论(1) 推荐(1)
摘要: 1)关闭一个客户端以后会影响其他的客户端事件原因:客户端没有取消事件订阅就关闭了,触发事件的时候找不到事件订阅者解决:遍历委托链,找到异常的对象,从委托链中卸下(2)服务器端对客户端广播,客户端能收到其他客户端的事件处理信息原因:使用了Singleton模式,共享远程对象解决:因为需要远程对象有状态且不共享实例,所以只有客户端激活可以选择修改后的服务端:using System; using Sy... 阅读全文
posted @ 2010-05-11 23:49 HackerVirus 阅读(233) 评论(0) 推荐(0)