摘要: 在IIS 6中要实现文件下载统计,我知道的只有两个方法: 1、自己写ISAPI Filters。 2、通过通配符映射,将所有文件映射到ASP.NET运行时,然后在ASP.NET程序中统计下载次数,还要处理文件下载。 在IIS 7中,实现这个功能很轻松: 写一个HttpModule: Code highlighting produced by Actipro CodeHighlighter (... 阅读全文
posted @ 2009-03-19 13:27 awp110 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 1:html静态化 2:图片服务器分离 3:数据库集群 4:缓存 5:负载均衡 大型高并发高负载网站的系统架构 我在Cernet做过拨号接入平台的搭建,而后在Yahoo3721负载搜索引擎前端平台开发,又在猫扑处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可以和大家一起探讨一下。 一个小型... 阅读全文
posted @ 2009-03-19 10:58 awp110 阅读(774) 评论(0) 推荐(1) 编辑
摘要: 设想这样一个需求,我们需要为自己的框架提供一个负责排序的组件。目前需要实现的是冒泡排序算法和快速排序算法,根据“面向接口编程”的思想,我们可以为这些排序算法提供一个统一的接口ISort,在这个接口中有一个方法Sort(),它能接受一个object数组参数。对数组进行排序后,返回该数组。接口的定义如下: public interface ISort { ... 阅读全文
posted @ 2009-03-19 10:10 awp110 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 考虑一个日志记录工具。目前需要提供一个方便的日志API,使得客户可以轻松地完成日志的记录。该日志要求被记录到指定的文本文件中,记录的内容属于字符串类型,其值由客户提供。我们可以非常容易地定义一个日志对象: public class Log { public void Write(string target, string log) { //实现内容; } }... 阅读全文
posted @ 2009-03-19 10:09 awp110 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 六 PetShop之表示层设计 表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了客户的需求,却仍然难以讨得客户的欢心。... 阅读全文
posted @ 2009-03-19 10:03 awp110 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 五 PetShop之业务逻辑层设计 业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,我们也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Appl... 阅读全文
posted @ 2009-03-19 10:02 awp110 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 四 PetShop之ASP.NET缓存 如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用Cache存储CPU访问概率高的那些数据,当CPU需要访问这些数据时,可以... 阅读全文
posted @ 2009-03-19 10:01 awp110 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 三、PetShop数据访问层之消息处理 在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量、数据流量、服务器负荷的问题。解决性能的瓶颈,除了对硬件系统进行升级外,软件设计的合理性尤为重要。 在前面我曾提到,分层式结构设计可能会在一定程度上影响数据访问的性能,然而与它给设计人员带来的好处相比,几乎可以忽略。... 阅读全文
posted @ 2009-03-19 09:59 awp110 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 二、PetShop数据访问层之数据库访问设计 在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开始,我将依次对各层进行代码级的分析,以求获得更加细致而深入的理解。在PetShop 4.0中,由于引入了ASP.Net 2.0的一些新特色,所以数据层的内容也更加的广泛和复杂,包括:数据库访问、Messaging、MemberShip、Profile四部分。在系列二中,... 阅读全文
posted @ 2009-03-19 09:58 awp110 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。PetSh... 阅读全文
posted @ 2009-03-19 09:57 awp110 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 3.5 详解面向对象的编程(OOP) 3.5.1 什么是面向对象 刚接触编程的时候,多数人本能的反映可能是面向过程(OP)的,而不是面向对象(OO)的。这种现象其实是很正常的,改变思维方式是需要一个过程的,我大体归纳了一下其形成的原因: 1、直接原因 你还没有养成面向对象分析问题和解决问题的习惯。建立面向对象的思维方式需要一定时间的训练和揣摩才能形成,所以你可以在学习或具体项目... 阅读全文
posted @ 2009-03-19 09:39 awp110 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 3 架构师的职责 近来看到CSDN上有个CTO俱乐部,里面聊得是不亦乐乎。我怀着无比崇敬的态度,拜读了一下牛人们的发言。里面有个哥们发起一个话题:“CTO, 你多久没有写程序了?”。有人回答:“不写代码的CTO,属于......这公司问题大了!”。看到这里,我就赶紧撤了,怕忍不住反驳几句,反而遭到牛人们的群殴。试想,一个上点规模的IT公司,还得靠CTO来写程序的话,那是不是才叫问题大了呢。... 阅读全文
posted @ 2009-03-19 09:38 awp110 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 2.3 面向过程编程(OPP) 和面向对象编程(OOP)的关系 关于面向过程的编程(OPP)和面向对象的编程(OOP),给出这它们的定义的人很多,您可以从任何资料中找到很专业的解释,但以我的经验来看,讲的相对枯燥一点,不是很直观。除非您已经有了相当的积累,否则说起来还是比较费劲。 我是个老程序员出身,虽然现在的日常工作更多倾向了管理,但至今依然保持编码的习惯,这句话什么意思呢?我跟... 阅读全文
posted @ 2009-03-19 09:38 awp110 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1、引言 机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到。但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c、ctrl-v用得更加纯熟了。在中国,编程人员最终的归途无... 阅读全文
posted @ 2009-03-19 09:37 awp110 阅读(196) 评论(0) 推荐(0) 编辑