随笔分类 -  架构与设计模式

上一页 1 2

大型网站系统架构分析
摘要:千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性?本文从服务器操作系统与Web服务器、数据库、服务器集群与负载均衡、缓存、独立的图片服务器、其它等几个方面来分析大型网站的系统架构 ... ... 阅读全文

posted @ 2009-04-28 14:36 Mainz 阅读(78577) 评论(15) 推荐(21) 编辑

说说企业架构(企业级架构)和应用程序架构
摘要:企业架构与应用程序架构之间关系的常见比喻是把企业比作城市规划,把应用程序比作建筑结构。城市规划者必须考虑获得水、电、污水和其他服务才能使城市运转。一栋大楼使用的自来水不能多于提供给它的配额。企业架构需要为应用程序考虑同样的事情:您不可以允许一个应用程序使用所有网络带宽,而如果基础设施服务崩溃,就会出现大量问题。 阅读全文

posted @ 2009-03-31 20:56 Mainz 阅读(6610) 评论(1) 推荐(1) 编辑

可扩展性(Extensibility): 构建灵活系统的思考
摘要:从我理解,在软件范畴上,是软件系统本身的属性,或者进一步说是设计的属性,代码的属性。因为我们经常说设计的可扩展性,代码的可扩展性。那与之相对应的是什么呢?是变化,软件环境的变化(可能是业务环境,运行环境)导致软件要进行改动才能满足人们对它的要求,这种系统本身适应变化的能力就是可扩展性。 阅读全文

posted @ 2009-02-28 13:17 Mainz 阅读(3620) 评论(0) 推荐(0) 编辑

Singleton模式与多线程
摘要:Singleton模式在多线程环境下是否线程安全?本文实现了线程安全的单件模式。 阅读全文

posted @ 2008-07-29 17:55 Mainz 阅读(1232) 评论(0) 推荐(0) 编辑

谈谈设计不足(under-engineering)与过度设计(over-engineering)
摘要:什么是设计不足?设计出来的系统复用性差,扩展性不强,不能灵活的应对变化,简言之,设计没到位。设计不足,多半是因为经验有限,设计能力有限。什么是过度设计?设计出来的系统比恰到好处要复杂臃肿的多,过度的封装、一堆继承、接口和无用的方法,超复杂的xml配置文件,简言之,客户需求是要一把杀鸡的刀,你给设计了一把牛刀(杀鸡用牛刀)。中国的架构师,缺乏的不仅仅是经验、技术、创意、设计能力,也许最缺乏的是思想和心境的沉淀。 阅读全文

posted @ 2008-07-06 22:09 Mainz 阅读(6873) 评论(5) 推荐(2) 编辑

数据库系统内部架构 (Architecture Of Database System)
摘要:大学时候有一门课叫做《数据库系统概论》,里面有些数据库系统的理论。比如关系数据库RDBMS,外模式,内模式,关系代数,SQL基础,视图,GRANT,数据字典等等。但到底数据库系统内部如何实现的?看过Oracle和DB2的白皮书都只是讲一些逻辑分层等等抽象的架构图,没有对系统内部进行详细介绍。这儿是一篇最近找到的系统讲述数据库内部架构和实现的论文,由研究生和微软的人共同撰写。 阅读全文

posted @ 2008-06-26 10:05 Mainz 阅读(1138) 评论(0) 推荐(0) 编辑

XUL: 快速开发跨平台富客户端的新途径
摘要:桌面应用程序的UI构建有没有突破常规的方法?能否结合web的优点?例如使用XML、XSLT、CSS来描述UI,用JavaScript来响应事件。XUL使运用 Web 开发技能构建桌面应用程序变得容易。使用 XUL,可以直接与 HTML 混合使用并可大量使用 JavaScript和CSS。更可贵的是,它是一种跨平台的轻量级的基于 XML 的用户接口语言。 阅读全文

posted @ 2008-05-01 13:13 Mainz 阅读(2492) 评论(1) 推荐(0) 编辑

用户界面设计的技巧与技术(By Scott W.Ambler)
摘要:对于应用软件来说,一个基本现实就是:用户界面是面向用户的。用户需要的是开发者开发的应用软件满足其需求,并且易于使用。太多的开发者自以为是艺术天 才,他们不去尽力遵循用户界面设计标准,或花精力使得产品好用;相反,他们错误地认为编写更灵巧的代码或是使用一套确实有趣的颜色方案才是重要的事。 Constantine指出,好的用户界面使得人们不用阅读用户手册或接受培训就能使用应用软件。 阅读全文

posted @ 2008-04-05 21:27 Mainz 阅读(946) 评论(1) 推荐(0) 编辑

也谈系统设计的一些原则
摘要:在进行系统设计时,不仅要考虑软件的功能性需求,还要考虑非功能性需求,比如软件的性能(Performance)、可扩展性(Scalability),系统的稳定性(Reliability)、部署(Deployment)和更新(Upgrade),可维护性(Maintainability),版本的管理,系统的安全(Security),界面的友好程度可用性(Usability, User experience)等。要想覆盖所有需求,实现一个简单而优秀的系统,可谓艰难。文章讨论了系统设计的一些原则:“大道至简,合适最好”,“稳定压倒一切”,针对可扩展性,灵活性,高性能,可用性,用户友好性,以及可维护性,可管理性的设计 阅读全文

posted @ 2008-01-13 18:37 Mainz 阅读(14503) 评论(5) 推荐(4) 编辑

架构设计之性能设计经验
摘要:性能(performance)设计非常重要,对于服务器端实时交易系统来说系统性能的重要性不言而喻,对客户端软件来说性能好的软件也会获得良好的用户体验,从而给用户留下高质量软件的良好印象。因此在进行架构设计中性能设计非常重要。本文总结了一些性能设计的经验。 阅读全文

posted @ 2007-12-15 17:08 Mainz 阅读(17854) 评论(9) 推荐(5) 编辑

状态模式和策略模式的比较
摘要:状态模式(state pattern)和策略模式(strategy pattern)的实现方法非常类似,都是利用多态把一些操作分配到一组相关的简单的类中,因此很多人认为这两种模式实际上是相同的。但实际上他们的应用思想和场合不同,只是实现方式上有类似之处。本文比较了状态模式和策略模式的主要不同。 阅读全文

posted @ 2007-12-15 17:04 Mainz 阅读(6776) 评论(2) 推荐(0) 编辑

上一页 1 2

导航