架构与设计
anyqu
学有所思,日有所进.
展开
-
面向对象设计原则之迪米特法则
迪米特法则来自于1987年美国东北大学(Northeastern University)一个名为“Demeter”的研究项目。迪米特法则又称为最少知识原则(LeastKnowledge Principle, LKP),其定义如下:迪米特法则(Law of Demeter, LoD):一个软件实体应当尽可能少地与其他实体发生相互作用。 如果一个转载 2012-05-29 10:00:29 · 1271 阅读 · 0 评论 -
依赖倒置原则
依赖倒置原则3.1 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是:High level modules should not depend upon low level modules. Both should depend upo原创 2012-11-21 22:01:29 · 703 阅读 · 0 评论 -
软件设计
在软件需求分析阶段需要我们完全弄清楚软件的各种需求,较好地解决所开发软件“做什么"的问题,并在软件需求说明书和数据要求说明书中详尽和充分地阐明这些需求后,下一步就要着手实现软件的需求,即要着手解决“怎么做"的问题。主要有以下内容: 软件设计目的和任务: 管理方面:概要设计、详细设计 技术方面:过程设计、数据设计、系统结构设计软件设计基础:转载 2012-11-05 10:19:22 · 504 阅读 · 0 评论 -
面向对象的三个基本特征
面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作(最低访问权限原则),对不可信的进行信息隐藏。信息隐藏是封装的本质,这样就可以增加数据的安全性!继承面向对象编程 (OOP)转载 2012-11-05 10:08:28 · 529 阅读 · 0 评论 -
可供借鉴的----实现Web平台升级的傻瓜化
用户场景: 客户的Web平台在升级的时候,一般是这样:维护人员发布一个补丁包和说明文档。用户按照说明文档进行操作,覆盖服务器上的相关目录下的文件等等(此处省略一千个字)。如果涉及到数据库更新的话,还需要用户手动执行sql更新数据库。这样的操作非常繁琐,用户一不小心就可能弄错 。所以要求我将补丁包制作成exe(Linux下为sh)的格式,用户只要点击下一步就可以完成所有的操作。 粗略的原创 2012-09-18 12:15:15 · 1504 阅读 · 0 评论 -
pd使用建议
pd使用建议 1.Powerdesigner使用建议1.1业务规则的使用(Business Rule)对于一些业务逻辑可能出现在多个数据表中,建议封装成Business Rule,这样便于业务逻辑的重新使用,也便于业务逻辑的维护。为了便于维护业务逻辑,可以考虑将Business Rule和Domains结合起来使用。将业务Business Rule应用到Domains上,然后再转载 2012-08-22 09:07:50 · 1041 阅读 · 0 评论 -
如何用powerdesigner创建索引
用powerdesigner为数据库表创建索引是非常方便的,操作其实也非常简便,但问题是powerdesigner一段时间不用,有时要找到地方还真不是很容易,这不这次要用powerdesigner创建个索引还找了一小会,所以在这里记下来,免得下次要再建索引的时候又忘记怎么做了。图一:(通过双击某一数据表进入,然后选择Indexs标签)图二:图三:图四:完毕,转载 2012-07-27 13:52:21 · 18835 阅读 · 1 评论 -
在PowerDesigner中设计约束
在PowerDesigner中设计物理模型2——约束唯一约束唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束。不过唯一约束更直观的表达了对应列的唯一性,使得对应索引的目的更加清晰,所以一般建议创建唯一约束而不是只创建唯一索引。在PD中创建唯一约束的操作,以教室表来说,RoomID是主键,必然是唯一的,RoomNam转载 2012-07-27 09:42:18 · 4852 阅读 · 2 评论 -
面向对象设计之单一职责原则
来自:http://www.cnblogs.com/cbf4life/archive/2009/12/11/1622166.html单一职责原则1.1 我是“牛”类,我可以担任多职吗 单一职责原则的英文名称是Single Responsibility Principle,简称是SRP。这个设计原则备受争议,只要你想和别人争执、怄气或者是吵架,这个原则是屡试不爽的。如果你转载 2012-07-19 09:42:20 · 1247 阅读 · 0 评论 -
.NET 插件系统框架设计(二) 使用对象序列化实现自定义配置文件管理
.NET 插件系统框架设计(二) 使用对象序列化实现自定义配置文件管理2009年11月26日 博客园 yaoshiyou 一、 为什么要这样做 问题:在程序开发中,经常会涉及对XML的操作,在C#中常用的方法有两种 1. xpath解析 2. XMLDocument解析 在解析时什么很麻烦,c#提供了xml序列化的方法,非常方便进实现xml和以象间的转换,在转载 2012-06-21 16:26:53 · 965 阅读 · 0 评论 -
.NET 插件系统框架设计(一)框架整体构想
.NET 插件系统框架设计(一)框架整体构想 2009年11月26日 博客园 yaoshiyou 设计阶段一:将接口定义成单独程序集,让插件去实现这个接口,框架采用反射来完成子插件功能的读取。 问题: 1. 要定义若干接口。 2. 对于现在已存的模块修改太大。 设计阶段二:着力于对第一阶段第二个问题解决,在协议接口和插件间添加一个适配器,有了这样的结构转载 2012-06-21 16:24:19 · 916 阅读 · 0 评论 -
Head first学习之一---为什么要采用设计模式
用过了结构化编程,用过了面向对象编程。有时总会问自己,有时是别人问你,为什么要采用面向对象编程。可以说是因为至少在现阶段采用面向对象方法比结构法更符合人认识分析与理解事物的过程与方法。同样用过了面向对象编程又会有人要问为什么要用设计模式。在Head First第一章中有句话我认为说明了一些问题。“把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用它们。从原来的代码复用转为经验复用原创 2012-06-21 14:18:09 · 1140 阅读 · 0 评论 -
插件系统框架分析
插件系统框架分析 2011-4-12 来源:网络 插件系统概述普通的系统,在编译发布之后,系统就不允许进行更改或扩充了,如果要进行某个功能的扩充,则必须要修改代码重新编译发布。使用插件可以很好地解决这个问题。插件概念首先由开发人员编写系统框架,并预先定义好系统的扩展借口。插件由其他开发人员根据转载 2012-06-21 16:09:50 · 880 阅读 · 0 评论 -
面向对象设计原则之开闭原则
开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。开闭原则由Bertrand Meyer于1988年提出,其定义如下:开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 在开闭原则的定义中,软件实体可以指一个软件模块、转载 2012-05-29 10:11:22 · 807 阅读 · 0 评论 -
面向对象设计原则之里氏代换原则
里氏代换原则由2008年图灵奖得主、美国第一位计算机科学女博士Barbara Liskov教授和卡内基·梅隆大学Jeannette Wing教授于1994年提出。其严格表述如下:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型S是类型T的子类型。这个定义比较拗口且难以理解,因此我们一般使用它的另一个通转载 2012-05-29 10:08:56 · 708 阅读 · 0 评论 -
面向对象设计原则之依赖倒转原则
如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。依赖倒转原则是Robert C. Martin在1996年为“C++Reporter”所写的专栏Engineering Notebook的第三篇,后来加入到他在2002年出版的经典著作“Agile Software Development, Principles, Patter转载 2012-05-29 10:05:12 · 680 阅读 · 0 评论 -
面向对象设计原则之接口隔离原则
接口隔离原则定义如下:接口隔离原则(Interface Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。 根据接口隔离原则,当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。每一个接口应该承担一种相对独立的转载 2012-05-29 10:03:46 · 642 阅读 · 0 评论 -
面向对象设计原则之合成复用原则
合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reuse Principle, CARP),其定义如下:合成复用原则(Composite Reuse Principle, CRP):尽量使用对象组合,而不是继承来达到复用的目的。 合成复用原则就是在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有转载 2012-05-29 10:02:06 · 1370 阅读 · 0 评论 -
一步步构建大型网站架构
转自:http://kb.cnblogs.com/page/99549/之前我简单向大家介绍了各个知名大型网站的架构,MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型,我们可以从中获取很多有关网站架构方面的知识,看了之后你会发现你原来的想法很可能是狭隘的。 今天我们来谈谈一个网站一般是如何一转载 2015-09-28 10:53:22 · 503 阅读 · 0 评论