Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

软件架构师的工作职责是什么

软件架构师的工作职责是什么

软件架构师的工作职责是什么2013-11-26 51cto博客 Jack zhai软件架构师是开发软件时在用户需求分析与系统设计阶段的灵魂人物,与传统的系统分析员相比,软件架构师的工作能为接下来的代码设计,以及将来的运行都提供更好的指导。有人把架构师的工作定义为分解系统模块以及定义相互之间的关系,也有人认为架构师就是对软件设计核心环节设计的一系列决策;之所以架构师在现代软件开发体系中越来越重要,还与目前流行的软件开发组织结构有一定的关系。一、“...
SOA技术综述

SOA技术综述

SOA技术综述2013-11-26 51cto博客 Jack zhaiSOA技术在IT界掀起巨大的狂潮,然而它不同于以前的技术变革:模块化编程、面向对象、Web技术等,不论多难理解,总是能很快被大家接受,SOA之所以让很多人觉得难以理解,是因为它不再单纯地从IT人的角度理解IT系统,而是从业务人员的角度分析IT业务系统。有两种现象相继呈现:一方面是企业SOA改造,精简企业业务流程,提升企业市场竞争与创新的能力,企业IT部门成为了企业管理的核心链条---&l...
enode框架入门:开篇

enode框架入门:开篇

enode框架入门:开篇2013-11-26 cnblogs netfocus前言今天是个开心的日子,又是周末,可以安心轻松的写写文章了。经过了大概3年的DDD理论积累 ,以及去年年初的第一个版本的event sourcing框架的开发以及项目实践经验,再通过今年上半年利用业余时 间的设计与开发,我的enode框架终于可以和大家见面了。自从Eric Evan提出DDD领域驱动设计以来已 经过了很多年了,现在已经有很多人在学习或实践DDD。但是我发现目前能够...
enode框架入门:saga的思想与实现

enode框架入门:saga的思想与实现

enode框架入门:saga的思想与实现2013-11-26 cnblogs netfocus因为enode框架的思想是,一次修改只能新建或修改一个聚合根;那么,如果一个用户请求要涉及多个聚合 根的新建或修改该怎么办呢?本文的目的就是要分析清楚这个问题在enode框架下是如何解决的。如果想直接 通过看代码的朋友,可以直接下载源代码,源码中共有三个例子,BankTransferSagaSample这个例子就是本文 所用的例子。saga的由来saga这个术语,...
enode框架入门:Staged event-driven architecture思想的运用

enode框架入门:Staged event-driven architecture思想的运用

enode框架入门:Staged event-driven architecture思想的运用2013-11-26 博客园 netfocus上一篇文章,简单介绍了enode框架的command service api设计思路。本文介绍一下enode框架对Staged Event-driven architecture思想的运用。通过前一篇文章我们知道command service是会被高并发的访问,我 们除了可以用异步的方式执行command以及集群的方式...
enode框架入门:框架的物理部署思路

enode框架入门:框架的物理部署思路

enode框架入门:框架的物理部署思路2013-11-26 博客园 netfocus上一篇文章,介绍了enode框架的总体目标,以及如何实现高吞吐、低延迟、高可用、无单点问题的实现思 路。本篇文章,我们再分析一下其他一些需要考虑的问题。我发现写文章挺累的,费时费脑经,但我会坚持下 去。本文主要分析一下enode框架的物理部署:enode框架的物理部署思路:集群的web站点+分布式缓 存和存储集群的概念:多台机器做相同的业务,对外如一台机器在做事情一样,集群...
enode框架入门:框架的总体目标

enode框架入门:框架的总体目标

enode框架入门:框架的总体目标2013-11-26 博客园 netfocus本文想介绍一下enode框架要实现的目标以及部分实现分析思路剖析。总体来说enode框架是一个基于cqrs 架构和消息驱动的应用开发框架。在说实现思路之前,我们先看一下enode框架希望实现的一些目标吧!框架总体目标高吞吐量(High Throughput)、低延迟(Low Latency)、高可用性(High Availability);需要能充分利用CPU,即要允许方便配置...
enode框架入门:事件驱动架构(EDA)思想的在框架中如何体现

enode框架入门:事件驱动架构(EDA)思想的在框架中如何体现

enode框架入门:事件驱动架构(EDA)思想的在框架中如何体现2013-11-26 博客园 netfocus开源地址:https://github.com/tangxuehua/enode上一篇文章,我给大家分享了我的一个基于DDD 以及EDA架构的框架enode,但是只是介绍了一个大概。接下来我准备用很多一篇篇详细但不冗长的文章介绍每 个点。尽量争取一次不介绍太多内容,但希望每次介绍完后都能让大家知道这个小点的设计思想,以及为了解 决的问题。好了,这篇...
enode框架入门:消息的重试机制的设计思路

enode框架入门:消息的重试机制的设计思路

enode框架入门:消息的重试机制的设计思路2013-11-26 博客园 netfocus上一篇文章,简单介绍了enode框架中消息队列的设计思路,本文介绍一下enode框架中关系消息的重试机 制的设计思路。对于一个EDA架构为基础的框架,核心就是消息驱动,然后基于最终一致性的原则。所 以,非常重要的一点是,如果消息一次执行不成功,那该怎么办?我能想到的对策就是消息的重试。我发现, 这篇文章比较难写,因为感觉要把复杂的事情清晰的表达出来,感觉确实不容易。说...
软件测试中的黑天鹅(三) 测试的平均斯坦与极端斯坦

软件测试中的黑天鹅(三) 测试的平均斯坦与极端斯坦

软件测试中的黑天鹅(三) 测试的平均斯坦与极端斯坦2013-11-30 infoq 邰晓梅1. 突破性与非突破性《黑天鹅》里谈到了突破性与非突破性的概念。这世界上有些职业的 收入是不具突破性的,比如面包师、咨询师、按摩师、牙医等等,其收入受到既定时间内所服务的客人的数量 的限制,这种工作在很大程度上是可以预测的,面包师必须为每一位客户烤出新面包,不论他出售的面包单价 有多贵,其收入总是受到限制的。而另外一些职业如录音师、电影演员、作家、投机师等等,他们只 ...
TFS的体系结构和概念

TFS的体系结构和概念

TFS的体系结构和概念2013-11-30 cnblogs 程兴亮TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM) 工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的平台工具。TFS的分为客户 端层、应用层、数据层。他们的数据模型流转如下图:客户端层分为架构师客户端、开发人员客户端、测试人员客户端等。应用层分为:版本控制、团队 生成、团队站点(ShareP...
TFS二次开发的第一个实例

TFS二次开发的第一个实例

TFS二次开发的第一个实例2013-11-30 cnblogs 程兴亮首先我们需要认识TFS二次开发的两大获取服务对象的类。他们分别为TfsConfigurationServer和 TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS API服务类。他们的区别如下:基本上我们可以通过上面两个类对TFS操作所有功能点。下面我们先看看如何使用 TfsTeamProjectCollection获取特定团队集合下的所有项目,并且打...
TFS的版本控制

TFS的版本控制

TFS的版本控制2013-11-30 cnblogs 程兴亮在TFS中对于版本控制是在WorkSpace工作区来控制的。首先我们先整理WorkSpace的一些基本使用方法。CheckIn:迁入挂起的操作CreateMapping:创建一个本地映射地址Delete:删除工作区GetPendingChanges:获取挂起的工作区Merge:合并工作项PendAdd:排队文件或一个文件夹添加到版本控制储存库PendBranch:计划一个文件或文件夹的分支Pend...
领域建模中的七种坏味道信息

领域建模中的七种坏味道信息

领域建模中的七种坏味道信息2013-11-30 infoq 译:张卫滨领域建模(见侧边栏)作为一项强大的技术,常备于很多IT专业人士的工具箱之中。令人遗憾的是,在过 去的几年间,因为领域建模的几个问题导致人们对其大失所望,尤其是在敏捷领域。这种方式的两个切实存在 的问题就是:它会消耗太长的时间并且很易于导致“分析瘫痪(analysis paralysis”),而这会导致停滞( “spinning wheels&rdquo...
对比其它软件方法评估敏捷和Scrum

对比其它软件方法评估敏捷和Scrum

对比其它软件方法评估敏捷和Scrum2013-11-30 infoq 译:武鑫一般来说,选择一种软件开发方法,更像是加入一个邪教组织,而不像是做出了一个技术决策。许多公司 甚至从未试图去评估这些方法,而仅仅是盲目采用最流行的方法,这就造成了如今五花八门的各种敏捷方法。 因此本文将使用包括功能点、缺陷移除率(DRE)、质量成本(COQ)以及总拥有成本(TCO)在内的一些标准 的度量指标,对现代软件开发方法的样本进行比较。目前有约55种已命名的软件开发方法正在...
<< 161 162 163 164 165 166 167 168 169 170 >>