Scalable Web Architecture and Distributed Systems
摘要:Scalable Web Architecture and Distributed Systemshttp://www.aosabook.org/en/distsys.html#Open source software has become a fundamental building block for some of the biggest websites. And as those websites have grown, best practices and guiding principles around their architectures have emerged. Thi
阅读全文
说说IUnitOfWork
摘要:说说IUnitOfWork~目录回到占占推荐博客索引经过两周的努力,终于把这个系列写完了,这段时候正好赶上项目改版,所以也像自己的项目重构了一下,将IUnitOfWork思想注入其中,希望对系统有所帮助,那是必然的,呵呵,IUnitOfWork的出现主要还是体现在性能上,下面看一下目录:第一讲 说说IUnitOfWork~认识IUnitOfWork,为什么要出现IUnitOfWork接口第二讲 说说IUnitOfWork~Linq to Sql与EntityFrameworks中的SubmtChanges()发生了什么事第三讲 说说IUnitOfWork~方法完整性与统一提交不冲突第四讲...
阅读全文
架构设计,真的很差吗?
摘要:被老大毙掉的架构设计,真的很差吗?原因:在ipad上做一个类似于ibook的软件,其实相当于用webBrowser展现一套HTML页面(写了个JS框架控制内部数据的加载,所谓内部数据就是一套JSON文件和图片)需求:做一套生成他规定的内部数据的工具,要所见即所得,至少也要和他展现形式差不多的形式(HTML页面)进行编辑保存,PHP编写,支持导入导出设计思路:抛弃书先不谈(因为存储格式未定),理论上:页面和文本块,图片本身是树状结构,然后多个页面构成一个知识点,多个知识点构成一本书,从结构上看树状结构,如果要导入这样的数据进行编辑,那么我的思路是首先构造这样的树(在内存里)之后绘制他们页面的绘制
阅读全文
video上传架构设计与实现
摘要:video上传架构设计与实现项目需要做一个关于视频上传的功能。整体的流程就是用户通过页面上传视频,然后后台记录上传信息,转码,播放。其实就是和youku,tudou等ugc视频的功能类似的。可能存在的瓶颈及解决方法:1.上传的网络瓶颈。(横向扩展,通过添加nginx即可)2.后台处理的瓶颈,涉及到截图,调整文件位置等后续操作。返回给前端的消息及时性。(延时消息异步,先给前端返回,再进行后续的操作)3.高并发。系统架构: lvs nginx nginx nginx nginx web_server(tornado)...
阅读全文
基于VS2012 Fakes框架的TDD实战——接口模拟
摘要:〇、目录一、前言二、需求说明三、项目结构四、开发准备 (一)应用代码准备 (二)测试类准备 (三)TDD正式开始五、总结六、源码下载七、参考资料一、前言 最近团队要尝试TDD(测试驱动开发)的实践,很多人习惯了先代码后测试的流程,对于TDD总心存恐惧,认为没有代码的情况下写测试代码时被架空了,没法写下来,其实,根据个人实践经验,TDD并不可怕,还很可爱,只要你真正去实践了几十个测试用例之后,你会爱上这种开发方式的。微软对于TDD的开发方式是大力支持和推荐的,新发布的VS2012的团队模板就是根据。新的Visual Studio 2012给我们带来了Fakes框架,这是一个针对代码测试时...
阅读全文
ucos软件结构
摘要:ucos软件结构在以往的软件开发中,在结构上吃了不少的亏。慢慢的对结构方面逐步重视起来,下面我写一些关结构方面的认识,希望对大家指导批评。这样在不段指正下成长 方能造就出,可靠性高,移植性强,维护方便的程序出来。个人感觉,在写代码时,尽量做到模块化。Ucos是个很好的平台,他可以让所有的功能化分为多个模块。在其之间有很好的独立性,就是说只要给我个任务,就可以完成一个功能。可是任务间有时也会牵扯到数据交互的问题,这个时候就使用模块接口。别人在加载您的模块接口头文件时后,所有的数据都可以通过接口传递了,这样块的封装就可以做的非常独立。这样的话功能的删除和增加会变的很简单。不用再为两个模块 重复的枚
阅读全文
需求分析与系统设计的面向对象推导过程
摘要:需求分析与系统设计的面向对象推导过程 几年前写的了,这两天整理东西的时候又给翻出来了,当时是公司让给我给设计人员讲讲如何写面向对象的设计说明书,所以临时东拼西凑的弄了这么个东西,毕竟是用于内部培训的,有些东西都是直接从网上整段COPY的,最多就是用自己的话又修饰了一遍,在此说明一下,各位看到的时候,莫过多纠结于此 。 一.引言1.1文档概要 概要很简单... 1.2编写目的 解释设计说明书里应该写些什么,在写设计说明书之前应该给我什么,写完了设计说明书应该达到什么样的效果,或者换个说法,写完了设计说明书我能给代码开发人员什么。1.3背景 背景很复杂1.4定义类型名称定义...
阅读全文
Winform开发框架之通用人员信息管理
摘要:Winform开发框架之通用人员信息管理我在随笔《Winform开发框架之通用短信邮件通知模块》和《Winform开发框架之通用附件管理模块》等多篇文章中都有介绍我总体的一个Winform开发框架的规划,其实就是开发一个集成度高的Winform开发框架,然后尽可能开发一些日常项目用到的模块,我称之为通用模块(可重复利用,或稍微调整可以适应项目需求),这样就形成了一个良好的生态体系,能够极快提高开发效率,同时也能规范化项目产品的开发工作,松耦合的集成能提供更高层的整合和利用。本文主要介绍我的Winform开发框架体系里面的一个新的模块,通用人员信息管理模块,这个模块其实在很多场合都可能用到,如企
阅读全文
软件架构
摘要:软件架构第四章节、配置以及运行一个任务(下) – spring batch摘要: (申明:初尝翻译,未经校验,请勿转载) 4.3、配置一个“任务启动器” 最简单的“任务启动器(JobLauncher)”接口的实现是“SimpleJobLauncher”。它只依赖于一个“任务存储器(JobRepository)”,使得拥有任务执行的能力: 只要拥有了“任务执行器(JobExecution)”,它将调用“任务”的执行方法,最终将“任务执行器”返回给调用者: 当从一个调度器开始...阅读全文posted @2012-08-07 16:10陛下 阅读(412) |评论 (0)编辑第四章节、配置以及运行
阅读全文
架构设计师与SOA
摘要:架构设计师与SOA(第一部分)作者: 王强, 出处:developerWorks 中国 , 责任编辑: 叶江, 2005-11-28 16:31 SOA体现的是一种新的系统架构,SOA的出现,将为整个企业级软件架构设计带来巨大的影响。本系列两部分文章将根据作者自己的理解来帮助大家分析和了解什么是SOA架构,SOA将怎样对企业系统架构设计带来积极的影响,什么是SOA架构设计师的角色,以及SOA架构师在设计SOA系统架构时有哪些应该特别注意的地方。 SOA(Service-Oriented Architecture),即面向服务的架构,这是最近一两年出现在各种技术期刊上最多的词汇了。现在有很...
阅读全文
深度剖析Byteart Retail案例:AOP - 异常处理与缓存
摘要:本文将对AOP拦截在Byteart Retail中的应用进行分析和介绍,同时会介绍AOP两个应用的具体实现方式,即异常处理与缓存机制的实现。背景就一个企业级应用程序而言,实现它的主要目的就是为了解决企业生产过程中出现的实际问题,比如数据问题、管理问题等。因此,应用程序的核心部分就应该是与企业业务相关的部分,也就是我们平时经常提到的“领域模型”。在进行领域模型的建模过程中,根据领域驱动的经验,需要排除所有与业务无关的成分,以便能够让模型能够完善地表达通用语言的描述,这对于系统分析和团队合作起着非常重要的作用。所以,在实际的系统设计中,我们都用所谓的POCO或POJO来表述领域模型对象及其之间的关
阅读全文
LMAX架构
摘要:重新学习了LMAX架构,对该架构和Event Sourcing模式有了一些的新的理解,总结记录了一下。最近又学习了一下LMAX架构,让我对该架构以及event sourcing模式又有了很多新的认识和疑问。注:如果不知道什么是lmax架构和event sourcing模式的看官可以自己先去查查资料:LMAX可以看看martin写的一篇文章:http://martinfowler.com/articles/lmax.htmlEvent Sourcing的资料比较多,随便google一下即可。当然,我的博客里也有大量关于这两个方面的笔记,有兴趣的可以看看。下面是我的一些最新的想法。LMAX arc
阅读全文
【架构★我的系统架构】我的系统架构<前言>
摘要:前言 之前在微博上看到网友说了这样一句话:“好的系统架构不是设计出来的,而是在实际应用过程中不断完善得来的” 。我也觉得很有道理,但是我仍然认为在系统构建之前必须要有一套合理的基础架构,否则日后的“完善”将会苦不堪言。 一套系统架构不可能做到通用,但是我想一些基础理念必然相同,或者说存在一套通用的可扩展的基础架构。后面我会写几篇博文,来描述一下“我的架构”。 此处附上一篇转载的博文:百万级访问量网站的技术准备工作。此文从全局概括一套“大”系统的架构需要做好哪些准备工作,所以以此文作为本系列的前言,我想是再合适不过了。场景 本人现在供职的公司是一家以O2O为核心业务的家装行业的电商公...
阅读全文
SubSnoic 框架入门到提高
摘要:框架学习SubSnoic 框架入门到提高(4)---全程记录摘要: 本篇主要是一些琐碎的东西了,前面3篇都是关于查询的这篇讲一些没水准的吧4.1 Update 4.1.1 把ID为1的学生的爱好改成 打游戏 Studentini=Student.FetchByID(1);Console.WriteLine("原来爱好是{0}",ini.StudentHobby);inti=newUpdate(Tables.Student).Set(Student.StudentHobbyColumn).EqualTo("打游戏").Where(Student.Stude
阅读全文
BizTalk 2013 Beta 新特性介绍
摘要:BizTalk2013 Beta于2012年11月6日发布,下面来介绍一下BizTalk 2013 Beta的新特性。 [核心更新功能]1. 与云服务集成BizTalk 2013 Server提供了SB-Messaging、WCF-Basic HTTP Relay、WCF-NetTcpRelay适配器,方便的实现本地服务与云服务的集成。 [SB-Messagin适配器配置界面] [WCF-Relay场景]另外现在可以在Windows Azure上直接创建和使用BizTalk 2013的虚拟机。 [Azure BizTalk 2013镜像 ]2. RESTful服务BizTalk 2013支持引
阅读全文
实例化需求—流程
摘要:本次将介绍实例化需求过程的基本流程 以下为实例化需求说明的主要过程模式: 当我们获取一个业务目标时,将按照上述流程图来生产实例化需求过程从目标中获取范围通过用户提供的需求描述,我们将这些描述转变成另一种用户能够理解且真实用户实际地行为方式,这里就要引入User Story用户故事的概念。然后以客户的业务目标为起始,然后通过协作界定可以实现目标的范围。这里最关键的就是与用户更密切地沟通,通过不断细化,确认这才是用户想要的功能。从协作中制定需求说明之所以要提出协作制定需求说明,目的是让需求、设计、开发以及测试都参与进来,发挥整个Team的知识和经验,力求让项目的干系人都更多的参与到交付过程...
阅读全文
企业级应用架构(NHibernater+Spring.Net+MVC3)_V1.0
摘要:http://www.cnblogs.com/liuche/archive/2013/01/10/2854032.html本人已经从事公司两套这类架构系统的开发工作啦!对于这套架构,我惊叹不已!BPS和CMS系统都是采用这套架构。但本人也同时渐渐发现了这套架构有诸多不足之处,于是本人利用闲暇时光进一步改进了这套架构。新架构是基于“领域模型”的企业级应用架构模式,使用了NHibernater+Spring.Net+MVC3的框架技术搭建。即便的是1.0版本,我也惊叹其几乎趋于完美了!这套架构是马丁.福勒关于“企业级应用架构模式”理论的.Net实践。 架构基于三层模型,使用了接口技术、工厂模式、M
阅读全文
深度剖析Byteart Retail案例:服务定位器模式
摘要:当系统中的组件需要调用某一服务来完成特定的任务时,通常最简单的做法是使用new关键字来创建该服务的实例,或者通过工厂模式来解耦该组件与服务的具体实现部分,以便通过配置信息等更为灵活的方式获得该服务的实例。然而,这些做法都有着各自的弊端:在组件中直接维护对服务实例的引用,会造成组件与服务之间的关联依赖,当需要替换服务的具体实现时,不得不修改组件中调用服务的部分并重新编译解决方案;即使采用工厂模式来根据配置信息动态地获得服务的实例,也无法针对不同的服务类型向组件提供一个管理服务实例的中心位置由于组件与服务之间的这种关联依赖,使得项目的开发过程受到约束。在实际项目中,开发过程往往是并行的,但又不是完
阅读全文
enyo学习之enyo的框架结构
摘要:enyo是惠普开发的开源框架,原来是为WebOs设计的,后来开源支持各种平台和浏览器,设计方向转为手机Web应用,跨平台、轻量级、易扩展、简单易学,就是惠普的文档写的太烂,看文档学习着实费力。 enyo官网:http://enyojs.com/ enyo在github的地址:https://github.com/enyojs 到2013年1月4日,enyo最新版本为2.1.1版。enyo自2.0之后比较稳定,可以拿来开发网站或应用了。下载enyo后解压,进入enyo\source目录下,这里是enyo的核心。 ajax提供了ajax异步请求、Jsonp、WebService等的...
阅读全文
Android源码学习之接着浅析SystemServer
摘要:通过Android源码学习之浅析SystemServer脉络知道了SystemServer是怎么通过利用JNI,但相继的问题出现了:SystemServer是干嘛用的?本人从《深入理解Android 卷2》截取摘录这一问题的回答:SystemServer是什么?它是Android Java的两大支柱之一。另外一个支柱是专门负责孵化Java进程的Zygote。这两大支柱倒了一个,都会导致Android Java的崩溃(所有由Zygote孵化的Java进程都会被销毁,而SystemServer就是由Zygote孵化而来)。若Android Java真的崩溃了,则Linux系统中的进程init会..
阅读全文