设计-架构
文章平均质量分 78
jsd2honey
从事IT行业, 有研发,测试,系统集成工作经验,曾取得系统架构师,信息系统项目管理师,网络规划设计师等证书,现专注于产品质量控制工作与研究。
展开
-
基于DDD的现代ASP.NET开发框架
基于DDD的现代ASP.NET开发框架--ABP系列之1、目录和总体介绍时间 2015-05-25 17:49:00 博客园-原创精华区原文 http://www.cnblogs.com/mienreal/p/4528470.html主题 ASP.NET背景介绍:有几次在技术交流会和QQ群上我提到ABP项目,几乎没有人知道这个开源项目,张善友、蟋蟀等转载 2017-05-10 16:22:11 · 1577 阅读 · 0 评论 -
老周的ABP框架系列教程
老周的ABP框架系列教程 ——一、框架理论初步学习 1、 ABP框架的来源与作用简介1.1 简介1.1.1 ABP框架全称为“ASP.NET Boilerplate Project”,中文翻译为” ASP.NET样板项目”,诞生的主要目的就是为了让.NET程序员“秒变”架构师,将.NET企业级项目的主流开发技术、最先进的架构整合起来,让.NET转载 2017-05-10 14:53:10 · 4530 阅读 · 0 评论 -
如何防止代码腐烂
很多团队都有这个问题,一个项目的代码本来开始设计得好好的,一段时间以后,代码就会变得难以理解,难以维护,难以修改。为什么?我一直在思考这个问题。让我们先看一个人的情况。1.程序员的成长新手的代码新手的代码没有经验,基本不考虑代码设计,代码规模稍稍大一点则自己就乱了。进阶者的代码小规模的时候大规模的时候转载 2017-05-09 13:09:03 · 281 阅读 · 0 评论 -
SOA演进到微服务
引言:“微服务”是当前软件架构领域非常热门的词汇,能找到很多关于微服务的定义、准则,以及如何从微服务中获益的文章,在企业的实践中去应用“微服务”的资源却很少。本篇文章中,会介绍微服务架构(Microservices Architecture)的基础概念,以及如何在实践中具体应用。单体架构(Monolithic Architecture )企业级的应用一般都会面临各种各样的业务需转载 2017-05-09 13:01:39 · 888 阅读 · 0 评论 -
.NET索引器
.NET索引器索引器(Indexer):官方说法是一种类成员,它允许类或结构的实例按与数组相同的方式排序,索引器与属性类似,只不过索引器的gei和set访问器方法带有参数,而属性访问器方法不带参数。 个人理解: 索引器是C#的一种语法构造,他可以另你用数组的方式来访问类中的集合。索引器是一种特殊的属性,他可以像属性一样通过get和set访问器的方式来指定其行为,不过要额外带参数从集转载 2017-05-25 11:38:26 · 325 阅读 · 0 评论 -
设计模式理解
创建型:1,工厂方法模式(Factory Method)统一方法接口,工厂方法根据不同条件实现不同类和方法,比如项目中的短信和email发送接口。比直接调用接口更合理进行功能隔离。2,抽象工厂模式(Abstract Factory)抽象工厂关键在于抽象工厂,工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,原创 2017-05-05 01:16:08 · 301 阅读 · 0 评论 -
高级系统架构师培训笔记
前几天参加了中科院计算所培训中心谢老师的高级系统架构师培训课程,将其中的一些点做了下记录:系统架构师的工作是复杂设计总体解决方案以及领域对象的逻辑和物理布局,这是一项在复杂环境中高风险、高影响力的活动。1、软件架构的定义:软件架构(Software Architecture)也称之为软件体系结构,它是一组有关如下要素的重要决策:软件系统的组织,构成系统的结构化元素,接口和它们相互协作的转载 2017-04-17 12:23:29 · 461 阅读 · 0 评论 -
现在理解的程序架构
架构一词源于建筑学,那就借鉴建筑的概念理一理架构。首先想要盖一座大厦,我们需要先盖好基础毛坯房,建立好基础设施,(卫生间,电梯,楼梯,监控室,部署好强电线路,弱电线路,暖通空调等),这些是 所有大楼大厦的必须配套设施,在软件产品中就对应着软件系统的(缓存模块,数据库访问模块,权限模块,通用公共方法,通用错误处理)所有软件系统都需要的基本模块,有了基础设施,我们就可以在此基础上按照我们的意愿装饰原创 2017-04-13 22:06:28 · 249 阅读 · 0 评论 -
SOA (面向服务的体系结构)
SOA(面向服务的体系结构)面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。中文名面向服务的体系结构外文名Service-Oriented转载 2016-08-07 20:39:37 · 4967 阅读 · 6 评论 -
统一登录设计1
统一登录设计背景:在系统设计中,我们常遇到统一登录问题。如某平台,有会员功能,平台外挂一商城。平台和商城是2个独立的web系统,但商城和平台共用的会员系统。因此会员在平台一旦登录,则进入商城则不需再次进行登录。这里进行简单易行的方案设计。A方案:平台和商城维护各自session。商城对用户除了提供商城登录功能外,还提供‘已在平台登录?点此使用平台授权转载 2017-01-10 10:07:06 · 878 阅读 · 0 评论 -
设计模式的六大原则
设计模式的六大原则1、开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2、里氏代换原则(Liskov Substitution转载 2017-01-04 14:52:09 · 269 阅读 · 0 评论 -
UML类图几种关系的总结
UML类图几种关系的总结 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 【转载 2017-01-04 14:30:46 · 669 阅读 · 0 评论 -
设计模式之中介者模式(十一)
设计模式之中介者模式(十一)一、引出模式在生活中,当电脑缺少了一块主板,那会怎么样?如果有人这样问我的话,我就会马上跳出来说“这电脑肯定报废了”,当然这不是重点。假如少了主板电脑还可以用的话,想想,里面的CPU、显卡、声卡、光驱、硬盘等等,不是就要我们自己用线把它们连起来。想想就觉得头疼,那么现在你觉得主板在电脑里扮演着什么角色呢?在软件的开发过程中,势必会碰到这样一种转载 2017-01-04 11:41:47 · 239 阅读 · 0 评论 -
操作系统文件管理
一、前言 本篇是操作系统系列的最后一篇,文件管理,由于系统的内存有限并且不能长期保存,故平时总是把它们以文件的形式存放在外存中,需要时再将它们调入内存。如何高效的对文件进行管理是操作系统实现的目标。二、文件和文件系统 现代OS几乎都是通过文件系统来组织和管理在计算机中所存储的大量程序和数据的。文件系统的管理功能是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。而文件则是指转载 2017-08-20 22:31:04 · 620 阅读 · 0 评论 -
硬盘内部硬件结构和工作原理详解
一般硬盘正面贴有产品标签,主要包括厂家信息和产品信息,如商标、型号、序列号、生产日期、容量、参数和主从设置方法等。这些信息是正确使用硬盘的基本依据,下面将逐步介绍它们的含义。硬盘主要由盘体、控制电路板和接口部件等组成,如图1-1所示。盘体是一个密封的腔体。硬盘的内部结构通常是指盘体的内部结构;控制电路板上主要有硬盘BIOS、硬盘缓存(即CACHE)和主控制芯片等单元,如图1-2所示;硬盘接口包转载 2017-08-20 22:24:28 · 311 阅读 · 0 评论 -
sql 连接小计
自然连接是通过对参与表关系中所有同名的属性对取等(即相等比较)来完成的,故无须自己添加连接自然连接相同属性等值连接运算后,再去掉右边重名属性列明。内连接与自然连接基本相同,不同之处在于自然连接只能是同名属性的等值连接,而内连接可以使用using或on子句来指定连接条件,连接条件中指出某两字段相等(可以不同名)。VxWorks是美国风河系统(WindR原创 2017-08-21 00:07:31 · 234 阅读 · 0 评论 -
Jenkins高可用方案汇总
前言现在的企业很多都在用Jenkins做持续集成,各个业务端都依靠Jenkins,部署Jenkins服务时如何保障服务的高可用变得尤为重要。以下是最近收集的一些方案。Gearman + Jenkins这是openstack团队使用的方案,Jenkins本身是单体的,即只能有一个Jenkins Master。虽然你也可以在多台机器上部署多个Jenkins Master,但这些Master之间没...转载 2019-06-27 08:43:11 · 3653 阅读 · 1 评论 -
Ceph基础知识和基础架构认识
Ceph基础知识和基础架构认识1 Ceph基础介绍Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。在虚拟化领域里,比较常用到的是Ceph的块设备存储,比如在OpenStack项目里,Ceph的块设备存储可以对接OpenStack的cinder后端存储、Glance的镜像存储和虚拟机的数据存储,比较...转载 2019-02-19 10:33:34 · 175 阅读 · 0 评论 -
InfiniBand技术和协议架构分析
Infiniband开放标准技术简化并加速了服务器之间的连接,同时支持服务器与远程存储和网络设备的连接。IB技术的发展1999年开始起草规格及标准规范,2000年正式发表,但发展速度不及Rapid I/O、PCI-X、PCI-E和FC,加上Ethernet从1Gbps进展至10Gbps。所以直到2005年之后,InfiniBand Architecture(IBA)才在集群式超级计算机上广...转载 2019-02-21 20:32:43 · 466 阅读 · 0 评论 -
关于RDMA技术原理、三种主流实现技术对比
版权声明:更多内容,请关注【架构师技术联盟】公众号 https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/81187388 摘要: 远程直接内存访问(即Remote Direct Memory Access)是一种直接内存访问技术,它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入,本文旨在...转载 2019-02-21 20:31:00 · 1309 阅读 · 0 评论 -
软考系统架构师总结
考试时间:2018年下半年资格名称:系统架构设计师准考证号:**********证件号:**********姓 名:**********上午成绩:55.00下午成绩:48.00论文成绩:45.00...原创 2018-12-15 23:15:18 · 2690 阅读 · 1 评论 -
git 协作图
Feature 分支Feature 分支必须从以下主分支来创建:developFeature 分支必须合并到:developFeature 分支命名规则:feature-*Hotfix 分支Hotfix 分支必须从以下主分支来创建:masterHotfix 分支必须合并到:develop and masterHotfix 分支命名规则:hotfix-*...转载 2018-12-26 14:53:07 · 229 阅读 · 0 评论 -
Hadoop 生态圈介绍
首先我们先了解一下Hadoop的起源。然后介绍一些关于Hadoop生态系统中的具体工具的使用方法。如:HDFS、MapReduce、Yarn、Zookeeper、Hive、HBase、Oozie、Mahout、Pig、Flume、Sqoop。Hadoop的起源Doug Cutting是Hadoop之父 ,起初他开创了一个开源软件Lucene(用Java语言编写,提供了全文检索引擎的转载 2017-12-18 18:50:43 · 594 阅读 · 0 评论 -
meterpreter 命令
第1步:核心命令在其最基本的使用,meterpreter 是一个 Linux 终端在受害者的计算机上。这样,我们的许多基本的Linux命令可以用在meterpreter甚至是在一个窗口或其他操作系统。这里有一些核心的命令可以用在meterpreter。? – 帮助菜单background – 将当前会话移动到背景bgkill – 杀死一个背景 meterpr转载 2017-10-30 17:15:10 · 467 阅读 · 0 评论 -
协作方法——黑板模型
黑板的概念最早由Newell提出。20世纪70年代初期,Carnagie-Mellon大学提出黑板的问题求解模型,并研制了一个黑板系统HEARSAY-II,该系统是一个语音理解系统。在多主体系统中,根据应用问题的不同特点,有许多不同的改进形式。如:Hayes-Roth的BB1和ABE;Nii的CAGE和POLIGON;Corkill的GBB;陆汝钤院士的联合黑板等。 黑板模型的基本转载 2017-08-28 11:01:12 · 1267 阅读 · 0 评论 -
系统架构设计总结—软件架构风格
1.概念: 软件架构设计的一个核心问题是能否使用重复的架构模式,即能否达到架构级的软件重用。也就是说,能否在不同的软件系绕中使用同一架构。软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradigm).架构风格定义了一个系统家族,即一个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连转载 2017-08-28 10:34:30 · 1445 阅读 · 0 评论 -
系统性能评价
一、本章要点1)性能计算(响应时间、吞吐量、TAT)2)性能设计(系统调整、Amdahl解决方案、响应特性、负载均衡)。3)性能指标(SPEC-Int、SPEC-Fp、TPC、Gibsonmix、响应时间)。4)性能评估。二、系统性能计算1)计算机系统性能指标以系统响应时间、作业吞吐量为代表。2)故障响应时间是指从出现故障到该故障转载 2017-08-21 00:14:07 · 684 阅读 · 0 评论 -
事务处理性能委员会TPC
事务处理性能委员会( Transaction Processing Performance Council ),是由数10家会员公司创建的非盈利组织,总部设在美国。该组织对全世界开放,但迄今为止,绝大多数会员都是美、日、西欧的大公司。TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。TP转载 2017-08-21 00:11:09 · 1484 阅读 · 0 评论 -
ESB总线的核心架构
ESB总线的核心架构 根据近期对开源ESB产品的研究,已经对Oracle和Tibco的ESB总线产品的实施经验积累,对ESB总线的核心产品架构有了进一步的清晰认识,将ESB的核心架构整理为上图,上图中看到的内容也是做为一款完整的ESB服务总线产品所必须要具备的功能。首先整个架构体系里面分为三个组件或子系统,即偏开发态的设计器,偏运行态的ESB核心引擎和SOA治理转载 2016-11-25 13:56:06 · 892 阅读 · 0 评论 -
软件架构入门
软件架构入门作者: 阮一峰日期: 2016年9月 3日软件架构(software architecture)就是软件的基本结构。合适的架构是软件成功的最重要因素之一。大型软件公司通常有专门的架构师职位(architect),只有资深程序员才可以担任。O'Reilly 出版过一本免费的小册子《Software Archi转载 2016-11-24 08:55:33 · 888 阅读 · 0 评论 -
ASP.NET SignalR 高可用设计
ASP.NET SignalR 高可用设计在 One ASP.NET 的架构图中,微软将 WebAPI 和 SignalR 归类到 Services 类型与 MVC、Web Forms 同列为一等公民,未来的 ASP.NET 5 尽管还在beta阶段,由它的架构图中可以发现原来就非常相似的 MVC 与 WebAPI 统一合并到 MVC 的大框架中了,而 SignalR 在未来依然在 Ser转载 2016-11-01 13:38:22 · 1114 阅读 · 0 评论 -
外观模式
外观模式应用实例 下面通过一个应用实例来进一步学习和理解外观模式。 1. 实例说明 某软件公司欲开发一个可应用于多个软件的文件加密模块,该模块可以对文件中的数据进行加密并将加密之后的数据存储在一个新文件中,具体的流程包括三个部分,分别是读取源文件、加密、保存加密之后的文件,其中,读取文件和保存文件使用流来实现,加转载 2016-09-19 23:04:13 · 382 阅读 · 0 评论 -
装饰器模式
设计模式学习----装饰器模式这两天本来是自在学习java collection Framework的Fail Fast底层机制,看到核心的部分时,突然意识到设计模式的问题,上大学到现在我还没有真正理解过设计模式的概念,于是用了大半天好好的学习了一下装饰器模式,回头再看jdk的源码,舒服多了,的确验证了那句话,设计模式非学不可啊,可以说自己是个十足的菜鸟,连基本的java接口机转载 2016-09-19 23:00:17 · 462 阅读 · 0 评论 -
组合模式
今天下班客厅的灯确实亮堂了许多,照照镜子感觉自己一下苍老许多,看来还是灯光暗比较好,看不出来自己的憔悴啊,哈哈,其实还是头发长了,决定出去剪发。 进到美发店,便有热情的服务生招呼,显示洗头,挑选造型师,开始剪发,剪发中被造型师推荐了各种各样的收费项目,我只选择了一样软化头发。完毕之后,看了下单子哇塞、好贵噢,不过造型师给我剪的发型我还是很喜欢的,我决定以后还找他剪,但是又太转载 2016-09-19 22:53:05 · 228 阅读 · 0 评论 -
桥接模式
生活中的一个例子: 就拿汽车在路上行驶的来说。即有小汽车又有公共汽车,它们都不但能在市区中的公路上行驶,也能在高速公路上行驶。这你会发现,对于交通工具(汽车)有不同的类型,然而它们所行驶的环境(路)也在变化,在软件系统中就要适应两个方面的变化?怎样实现才能应对这种变化呢?概述:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何转载 2016-09-19 22:45:12 · 198 阅读 · 0 评论 -
构造器模式
当创建对象需要传入多个参数的时候我们通常会根据参数的数量写不同的构造器,具体如下public A(int a){}public A(int a, int b){}public A(int a, int b, int c){}根据不同的参数调用不同的构造器,但是当参数多了的时候,这种方式不够灵活,所以会实现动态传参的方法public A(){}public void seta转载 2016-09-19 22:07:26 · 236 阅读 · 0 评论 -
1.适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3. 模式中的角色 3.1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。转载 2016-09-19 20:32:34 · 190 阅读 · 0 评论 -
pedis
这是一个高并发,低延迟,兼容Redis协议的NoSQL存储系统, 名字叫作Pedis(是parall 与 redis 两个单词的合成)。与社区版Redis最大的区别就是,Pedis能够以多线程方式运行(threaded redis),从而能能够使得单机提供更高QPS,充分利用硬件性能。另外一方面,Pedis可以使用用户态协议栈,基于DPDK的用户态协议栈极大降低了消耗,从而降低请求RT。转载 2016-09-18 19:03:33 · 1283 阅读 · 0 评论 -
Varnish
Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (http://www.vg.no) 使用3台Varnish代替了原来的12台squid,性能居然比以前更好。Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但转载 2016-09-18 18:53:11 · 171 阅读 · 0 评论 -
如何在 TFS 中使用 Git
如何在 TFS 中使用 Git 对 Charley Blog 的代码进行版本控制的想法由来已久,在代码建立之初其实已经使用过 TFS 进行控制,只是后期没能好好用起来,加之后来系统环境的变化导致TFS连接丢失,便算是正式放弃了版本控制这个重要的工具。时隔好几个月后,最近一次偶然的机会,在尝试了 Git 工具来维护《ueditor上传图片到七牛(CSharp版本)》中所使用的代码后转载 2016-08-25 15:02:39 · 1975 阅读 · 0 评论