状态无关性 Rest 架构中不维持client,resource and request 的状态,我们通常称 Rest 服务是状态无关的.基于此的优势是为设计Rest架构提供了简便:每一个请求可以被完全单独的处理:与HTTP协议的状态无关保持一致.不足之处在于但是如果需要获取或者维持状态,需要消耗额外的资源. 缓存 缓存的设计是为了减少server端的负担,client 不需要每次都向 server 发送请求,client可以使用缓存技术来保存 server response. HTTP Cod…
资源 在Rest的架构之内,讲一切内容都是为资源.每一个资源都被定义为一个URI. 格式: <protocol>://<service-name>/<ResourceType>/<ResourceID> 除此之外,URI的另一个关键部分为“VERB“, 相应的我们也称他们为“方法”.他们通常有四种形式 -- GET/POST/PUT/UPDATE 关于资源的表述,Rest有多种形式的表述方式,其中以XML和JSON最为常用. 消息 Rest 采用HTTP协议…
最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event Sourcing这种架构,我博客中也有大量介绍.EventStore是在Event Sourcing(下面简称ES)模式中,用于存储事件用的.从DDD的角度来说,每个聚合根在自己的状态发生变化时都会产生一个或多个领域事件,我们需要把这些事件持久化起来.然后当我们需要恢复聚合根的最新状态到内存时,可以通过ES这种技术,从EventS…
概述 该示例(TODO-MVP)是后续各种示例演变的基础,它主要演示了在不带架构性框架的情况下实现M-V-P模式.其采用手动依赖注入的方式来提供本地数据源和远程数据源仓库.异步任务通过回调处理. 注意:MVP中View的概念是有所不同的: android.view.View类我们叫它 "Android View" MVP中从P接收命令的东西我们叫它"View",后文说了,就是Fragment Fragment 采用Fragment作为视图的载体有两个原因: Acti…
原文:Patterns For Large-Scale JavaScript Application Architecture by @Addy Osmani 今天我们要讨论大型 JavaScript 应用架构中的有效模式.这篇文章基于我最近在 LondonJS 的同名演讲,灵感则来自 Nicholas Zakas 之前的成果. 译注:Nicholas Zakas: Scalable JavaScript Application Architecture 1. 我是谁,以及我为什么写这个主题?…
目录 1.我是谁,以及我为什么写这个主题 2.可以用140个字概述这篇文章吗? 3.究竟什么是“大型”JavaScript应用程序? 4.让我们回顾一下当前的架构 5.想得长远一些 6.头脑风暴 7.架构提议 7.1 模块化理论 7.2 CommonJS模块 7.3 外观模式 7.4 中介者模式 7.5 应用外观 7.6 核心的抽象 7.7 整合 7.8 超越发布/订阅:自动注册事件 7.9 常见问题 13 August 2013 原文:Patterns For Large-Scale Java…
看了很多人的项目,很多都是用到三层架构,其中BLL层中有一种将DataTable转换为实体的方法.一直没有明白为啥要这样做,今天特意去搜索了一下,如果没有答案我是准备提问,寻求解答了.还好找到一个相关的网页.终于理解了,心中的一个困惑可以放下了. 好处(优点): 这样做的优点如下: |  编写B层的人员无需手动填写需要的字段,直接按一下点,全都提示出来了,想用哪个用哪个,不会出现写错的情况. |  不必了解数据库结构. |  符合面向对象思想. |  实体类的属性是强类型,每个字段的类型都是已知…
Model又叫实体类,这个东西,大家可能觉得不好分层.包括我以前在内,是这样理解的:UI<-->Model<-->BLL<-->Model<-->DAL,如此则认为Model在各层之间起到了一个数据传输的桥梁作用.不过在这里,我们不是把事情想简单,而是想复杂了. Model是什么?它什么也不是!它在三层架构中是可有可无的.它其实就是面向对象编程中最基本的东西:类.一个桌子是一个类,一条新闻也是一个类,int.string.doublie等也是类,它仅仅是一个…
新版linux系统设备架构中关于电源管理方式的变更 based on linux-2.6.32 一.设备模型各数据结构中电源管理的部分 linux的设备模型通过诸多结构体来联合描述,如struct device,struct device_type,struct class, struct device_driver,struct bus_type等. @kernel/include/linux/devices.h中有这几中结构体的定义,这里只列出和PM有关的项,其余查看源码: struct d…
[上海尚学堂的话]:本文主要讲述了Mashape的首席技术执行官Palladino对API网关的详细介绍,以及API网关在微服务中所起的作用,同时介绍了Mashape的一款开源API网关Kong. API网关提供商Mashape的首席技术执行官Marco Palladino预测,尽管它们在命名方面存在差异,但新出现的服务网格并不完全不同于API网关,两者之间的相似性会随着时间的推移而不断增长. Palladino指出,这两种技术实际上提供了相当类似的功能.API网关,比如Amazon Web S…