架构设计/设计模式/UML
文章平均质量分 63
SurgePing
不要让任何事情成为你不去学习的理由
展开
-
系统架构师-基础到企业应用架构-系列索引
系统架构师-基础到企业应用架构-索引系统架构师-基础到企业应用架构系列会从,系统架构的起源、发展、架构师必备的基础知识与技能、如何把架构应用到企业应用中去。整个系列计划30篇左右,每一篇都是自己在系统架构过程中的总结和经验,每一篇我都会抱着认真的态度去完成,宁缺毋滥的原则。希望本系列看完之后不但能够帮助看过这个系列的人对系统架构有深刻的认识,并且能够掌握系统架构中的必备知识转载 2012-09-27 23:09:54 · 2769 阅读 · 0 评论 -
软件系统的架构(ArchitECture)有两个要素是什么?
答:1) 它是一个软件系统从整体到部分的最高层次的划分。一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(TASk-flow)。所谓架构元素,也就是组成系统的核心”砖瓦”,而联结器则描述这些元件之间通讯的路径、通讯的转载 2013-01-25 10:59:06 · 1962 阅读 · 0 评论 -
什么是构架设计图 ?有哪些组成?
构架视图的图形描述称为构架设计图。对于以上描述的各种视图,设计图由以下统一建模语言图组成 [UML99]:逻辑视图:类图、状态机和对象图。进程视图:类图与对象图(包括任务 – 进程与线程)。实施视图:构件图。部署视图:部署图(在开过程的早期,要识别协作系统,即开发组要找出新建的系统要依赖哪些老系统,哪些老系统要依赖新建的系统。这个动作备受系统工程师关注,因为他要为准备新建的系统原创 2013-01-25 10:57:08 · 1405 阅读 · 0 评论 -
工厂模式的c++描述
接着前面所述简单工厂模式,简单工厂模式符合面向对象4大原则:可维护,可复用,可扩展,灵活性高,耦合度低,但是他仍然有一个很 大的问题就是如果要增加新的产品,必须对工厂进行修改,这就违背了软件设计的开闭原则 。 对于这种问题,我们可以使用工厂模式来解决。 假设我们想要增加一个新的运算乘方运算类,我们可以按如下思想来设计:转载 2013-03-06 16:06:02 · 1023 阅读 · 0 评论 -
在开发过程中如何运用UML 整理
若转载请注明出处,谢谢,链接地址:http://write.blog.csdn.net/postedit/8542968下面是我根据项目开发过程中,项目进行的一种GRAPPLE思想总结。请注意系统分析员是怎么将项目拆分成若干模块的。(我下面也会将所有参与到的角色特别标注出来。)1、系统分析员分析项目需求,将项目拆分成若干模块,并对每个模块书写模块说明书。2、程序员按照模块说明书的描原创 2013-01-25 17:25:13 · 2903 阅读 · 0 评论 -
设计模式C++描述__职责链(Chain of Responsibility)模式
其他模式链接地址:点击打开链接一. 概述职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。二. 举个例子员工要求加薪公司的管理者一共有三级:总经理、总监、经理,如果一个员工要求加薪,应该向主管的经理申请,如果加薪的数量在经理的职权内,那么经理可以直接批准,否则将申请转载 2013-05-10 12:21:16 · 715 阅读 · 0 评论 -
设计模式之策略模式
写了半天居然异常了,晕死,下面先上代码转载 2013-10-06 17:00:17 · 1122 阅读 · 0 评论 -
从程序员到架构师的方法与逻辑
摘要:架构师这个词经常见到,很多人都冠着这个头衔,实际上很多人对架构师究竟是干什么的都没有统一的认识。V众投发起人李智勇则利用特定场景进行分析,诠释了架构师这个概念,并给出如何成为架构师方法。架构师是什么?架构师这词其实很有意思,很多人的Title是这个,但其实我们对架构师都干什么并没有太统一的认识。往大了说,比尔盖茨当年好像也称自己为架构师,往小了说随便一个小的软转载 2014-07-29 12:41:45 · 979 阅读 · 0 评论 -
OO六大设计原则总结(上层码农必会)
一直以来都严格遵循OO的原则来进行开发(用的工具是C++和Qt)什么是设计原则?设计原则是基本的工具,应用这些规则可以使你的代码更加灵活、更容易维护,更容易扩展。基本原则 封装变化Encapsulate what varies.面向接口变成而不是实现 Code to an interface rather th原创 2015-07-29 15:45:18 · 5418 阅读 · 0 评论 -
软件架构师需要掌握哪些知识?
架构师首先必须具有丰富的开发经验,是个技术主管。因为他必须清楚什么是可以实现的,实现的方式有哪些,相应的难度怎么样,实现出来的系统面对需求变化的适应性等一系列指标。另外,需要对面向过程、面向对象、面向服务等设计理念有深刻的理解,可以快速的察觉出实现中的问题并提出相应的改进(重构)方案(也就是通常说的反模式)。这些都需要长期的开发实践才能真正的体会到,单从书本上很难领会到,就算当时理解了也不一定能融转载 2013-01-25 10:50:12 · 2066 阅读 · 0 评论 -
如何进行软件系统架构设计?
基于体系架构的软件设计模型把软件过程划分为体系架构需求、设计、文档化、复审、实现和演化6个子过程,现逐一简要概述如下。1、体系架构需求。即将用户对软件系统功能、性能、界面、设计约束等方面的期望(即“需求”)进行获取、分析、加工,并将每一个需求项目抽象定义为构件(类的集合)。2、体系架构设计。即采用迭代的方法首先选择一个合适的软件体系架构风格(如C/S、B/S、N层、管道过滤器风格、转载 2013-01-25 10:49:00 · 2330 阅读 · 0 评论 -
UML描述设计模式
设计模式——UML简介1.UML1.1UML是什么一种创建程序模型的可视化语言,所谓的程序模型,就是程序的图形化表现形式。1.2为什么使用UML主要是为了交流,交流就需要在一个标准的平台上进行,比如中国人交流,都会在中文的平台上进行。UML提供了描述程序模型的一个标准,让开发人员、客户更好的进行交流。为了交流的清晰,UML定义好不同的图来专门表示不同类型的信转载 2012-09-27 23:29:41 · 1310 阅读 · 0 评论 -
UML常用图的几种关系的总结
在UML的类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)1. 泛化(Generalization)【泛化关系】:是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父转载 2012-09-24 01:28:41 · 95894 阅读 · 24 评论 -
UML类图各符号含义
类图基本符号可拆分为虚线,箭头,实线,空心三角形箭头,实心三角形箭头,空心菱形和实心菱形。由这些基本的图形进行组合构成了类图的基本符号。这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程度。越向右耦合度越高。其中虚线+箭头是表示即依赖的关系依赖关系: 是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖。01图片指C5可能要用到C6的一些方转载 2012-12-18 18:32:35 · 1343 阅读 · 0 评论 -
工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
工厂模式,也叫做说虚构造器,在简单工厂中间插入了一个具体产品工厂,这个工厂知道产品构造时候的具体细节,而简单工厂模式的产品具体构造细节是在一个个if/else分支,或者在switch/case分支里面的。工厂模式的好处就在于将工厂和产品之间的耦合降低,将具体产品的构造过程放在了具体工厂类里面。在以后扩展产品的时候方便很多,只需要添加一个工厂类,一个产品类,就能方便的添加产品,而不需要修改原有的代码转载 2013-01-25 10:47:35 · 900 阅读 · 1 评论 -
架构的目标是什么
要达到如下的目标:•可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。•安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。ccbdb62ec9©应届生求职网YingJieSheng.COM©1cf9f0fcd1•可扩展性(SCAlable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理转载 2013-01-25 10:48:25 · 1332 阅读 · 0 评论 -
UML中的 SRP、OCP、LSP、DIP、CARP的中英文全称和意义
OOA的全称Object-Oriented Analysis 面向对象分析方法意义(1)加强了对问题域和系统责任的理解; (2)改进与分析有关的各类人员之间的交流; (3)对需求的变化具有较强的适应性; (4)支持软件复用; (5)贯穿软件生命周期全过程的一致性。 (6)实用性; (7)有利于用户参与。OOD的全称Object-Oriented Desi原创 2012-10-09 23:36:45 · 3241 阅读 · 0 评论 -
什么是非侵入式设计?
一个客户端的代码可能包含框架功能和客户端自己的功能。 侵入式设计,就是设计者将框架功能“推”给客户端,而非侵入式设计,则是设计者将客户端的功能“拿”到框架中用。 侵入式设计有时候表现为客户端需要继承框架中的类,而非侵入式设计则表现为客户端实现框架提供的接口。 侵入式设计带来的最大缺陷是,当你决定重构你的代码时,发现之前写过的代码只能扔掉。而非侵入式设计则不然,之前写过的代码转载 2013-01-25 11:00:54 · 2643 阅读 · 0 评论 -
如何从零开始搭建高性能直播平台?
前言现在直播已经成为移动互联网时代一个新的重要流量入口,从YY、斗鱼到花椒直播,直播已经成为人们分享交流的新方式,应用场景众多,主要分为:金融类直播:金融直播可应用于实时解盘,在线专家讲座,专家在线直播技术分析、指导投资者等使用场景。大型赛事,演唱会类直播:可应用于大型演唱会,音乐会,游戏,体育赛事等类直播场景。互动类直播:娱乐类互动,如YY等。转载 2017-08-29 11:53:33 · 2149 阅读 · 0 评论