??xml version="1.0" encoding="utf-8" standalone="yes"?>香蕉亚洲视频,图片区小说区国产精品视频,日韩成人xxxxhttp://www.aygfsteel.com/JimmyJin/走在架构师的大道上,学习的乐就在于知识应用于具体实践中,在实战中实现知识的h倹{?/description>zh-cnMon, 16 Jun 2025 19:39:06 GMTMon, 16 Jun 2025 19:39:06 GMT60架构之美http://www.aygfsteel.com/JimmyJin/archive/2012/05/24/369028.htmljimmy2009jimmy2009Thu, 24 May 2012 04:31:00 GMThttp://www.aygfsteel.com/JimmyJin/archive/2012/05/24/369028.htmlhttp://www.aygfsteel.com/JimmyJin/comments/369028.htmlhttp://www.aygfsteel.com/JimmyJin/archive/2012/05/24/369028.html#Feedback0http://www.aygfsteel.com/JimmyJin/comments/commentRss/369028.htmlhttp://www.aygfsteel.com/JimmyJin/services/trackbacks/369028.html之前只要一提v架构Q给我一U很深奥、玄妙的感觉Q认为很牛XQ曾几何Q以Y件架构无非就是将几大框架(各层?整合在一赯已Q后来当我从事系分一D|间之后,体会到如果你不能从整体上认识一个系l?软g)的话是没法做架构的,因ؓ满pȝ(软g)的功能是一个架构师最L的要求。从q个层面上讲Q那pȝ分析师与pȝ架构师一样都要对pȝ有一个整体的认识Q更要认识到该系l在未来可能的变化及做成产品后如何时l护的问题。感觉系l分析师与系l架构师好像没什么区别似的,虽说早就知道一个偏重业务一个偏重技术?/span>
但自我开始阅?#8220;架构之美”q本书后Q开始对架构有了q一步的认识Q?/span>
本质上,架构只是pȝ设计中的一部分Q无非架构更H出某些l节Qƈ通过抽象省略另一些细节。关注实现系l组件的开发者可能不会特别关心所有组件是如何装配在一P而是主要x数lg的设计和开发,包括他们必须遵守的架构约束和可以应用的规则。因此,开发者和架构师面对的是系l设计的不同斚w。如果说架构x的是lg之间的关pdpȝlg外部可见的属性,那么设计q要xq些lg的内部结构?br /> 架构q个词本质上是从建筑学这个行业引甌来的Q所以在软g开发这个领域好多概念跟现在的徏{都怼?
目x点:
功能性?br />可变性?br />定w?br />生态系l?br />模块化?br />可构建性?br />产品化?br />安全?br />架构q会影响到组l机构?br />架构观点中的常见思想是结构,每种l构都由各种cd的组件及其关pL成:它们如何l合、相互调用、通信、同步,以及q行其他交互。组件可以是建筑中的支架栋梁或故事中的章节或人物。每U结构都是ؓ了帮助架构师理解如何来满特定的x点,如可变性或性能。展C某些关注点得到满Ӟ可能会媄响到其他斚w的关注点Q但架构师必能够说明所有关注点都已得到满?br />架构师的角色Q就是做设计上的军_包括行ؓ上和l构上?br />信息隐藏l构是面向对象设计方法的基础Q它满的关注点Q信息隐藏结构的设计应该能满_变性、模块化和可构徏性的要求?br />定义良好的用结构将创徏pȝ的适当子集Q可以用于驱动P代式或增量式的开发@环,满的关注点Q品化和生态系l?br />信息隐藏模块l构和用结构是静态的l构Q存在于设计时和~码Ӟq程l构是运行时的结构?br />q程l构满的关注点Q性能和容量?br />一Q׾~性架构设?br />胖客L与廋客户?br />在线游戏环境与企业环境几乎完全相反,
l典的企业环境可以描qCؓ一?#8220;?#8221;客户端连接一?#8220;?#8221;服务器(q个服务器又常常q接C个更“?#8221;的数据库服务器)。服务器保存客L需要的l大部分信息Q在最理想的情况下Q客L内在不多Q没有自已的盘Q它是服务器的一个称职的昄讑֤Q绝大多数据真正的工作在服务器上完成?br />游戏世界特别是大型多人在U游戏(MMOQ?/z>
MMO和虚拟世界的环境始于一个非常胖的客LQ?/z>
它通常是顶U的PC、具有最强劲的CPU、很大的内存Q以及本w计能力很强的昑֍。只要有可能Q数据就会存攑֜q些客户端上Q特别是那些不会改变的信息,如地理信息、材质脓囑֒规则集。服务器保持可能的单,通常只保存非常抽象的世界表示和其世界中的实体的表C。而且服务器的设计目标是尽可能地q行计算。绝大部分的计算留给了客L。服务器的真正工作是保存׃n的世界真实状态,保不同客户端对世界的看法差异可以根据需要得到纠正。真实状态需要由服务器来保存Q因为控制客L的玩家很有兴让他们的表现变成最强,所以可能会受到诱惑Q根据他们的喜好修改׃n的真实(如查他们可以Q。在一般情况下Q如果有可能Q玩家就会作弊,所以服务器必须是共享真实的最l来源?/z>
MMO和虚拟世界的数据讉K模式也和企业中看到的情有着很大的区别。企业中的一般经验法则是90%的数据访问都是只ȝQ大多数d会读取大量数据,然后会再改写量数据。在MMO和虚拟世界的环境中,大多CQ务只讉K服务器上量的状态数据,但在它们讉K的数据中Q大U一半会被改?/z>
在线游戏环境与企业环境的共同x点:
1Qgq是敌hQ但也有不同。最大的不同要追溯到用户所做的事情的不同。在企业环境中,目标是管理业务,如果d吐量得到改进Q在处理中有一点gq是可以接受的,在MMO和虚拟世界的环境中,目标是开心,而gq是开心的敌hQ所以MMO或虚拟世界的基础设施需要围l着可能限定gq的需求来设计即便以吞吐量Z价也在所不惜?/z>
XX在线游戏QDarkstarQ架构的目标Q?/z>
1Q对伸羃性的需求表明,pȝ应该是分布式的、ƈ发的Q游戏程序员应该把系l视Z台单机,q行着一个线E,所有允讔R|到多线E和?br />计算Z的机刉应由XX在线游戏的基设施来考虑?/z>
2Q支持随时׾~,同时不要求游戏逻辑受到伸羃的媄响,q个架构应该支持游戏动态地响应负蝲Q而不是让q种响应成ؓ游戏设计的工作的一部分?br />架构Q?br />Darkstar׃l独立的服务构成Q用一l相互联pȝ服务来构建系l,“分而治?#8221;Q分而治之是设计所有大型计机pȝ的基本方法?/z>
客户端连接到游戏逻辑使用的通信机制是基设施的一部分Q这些机制支持客L到服务器的直接通信Q也支持一U?#8220;发布-订阅”通道QQ何发往通道的消息都会送达该通道的所有订阅者?br />游戏服务器的设计方式和游戏ؓ为支持ƈ玩家所采取的׾~性技术?br />q行与gq?br />
二:数据增长——Facebookq_的架?/z>



jimmy2009 2012-05-24 12:31 发表评论
]]>
RESTlet学习W记http://www.aygfsteel.com/JimmyJin/archive/2012/05/24/379015.htmljimmy2009jimmy2009Thu, 24 May 2012 04:19:00 GMThttp://www.aygfsteel.com/JimmyJin/archive/2012/05/24/379015.htmlhttp://www.aygfsteel.com/JimmyJin/comments/379015.htmlhttp://www.aygfsteel.com/JimmyJin/archive/2012/05/24/379015.html#Feedback0http://www.aygfsteel.com/JimmyJin/comments/commentRss/379015.htmlhttp://www.aygfsteel.com/JimmyJin/services/trackbacks/379015.htmlq两天学习REST及其java实现框架Restlet.
兯状态传输(Representational state transferQ?z>RESTQ是设计Z命名资源而非消息的松耦合应用E序的一U风根{构? RESTful 应用E序的最困难的部分在于确定要公开哪些资源.个h认ؓ它跟DDD联系的很紧密Q特别是REST中的“资源”Q我个h理解它就是从领域模型中的模型而来的?br />我们先来看一下restlet core api吧:
restlets 

Overview of a Restlet architecture

Here is a diagram illustrating how the API composes componentsconnectorsvirtual host and applicationsApplications are in turncomposed of resources.

tutorial05
用白说来讲就是:Application通过Router 某个URI与Resourcel定在一定,而一个componet可能含有多个Application,
q有Representation q个cd实也很重要?/z>Representation entityQ?/span>Restlet中全部的接受和返回对象都Representationcȝ子类?/span> 
如在WEB APP中经帔R要从一个FORM中拿到其Representation(
getWebRepresentation() )或组装成一?/font>Representation 
Form(Representation webForm)
 ,以便客户端与服务器进行交互。我们知道REST是以资源Z心的Q一个URI׃表了对这个资源的CURD操作。@Pathq个注解提明?/z>
哪个操作是由该资源的那个Ҏ来实现的?
@POST
@Path("add")
public String addStudent(Representation entity) { 
}
...
@DELETE
@Path("delete/{id}")
public String deleteStudent(@PathParam("id") int id) {
  int status = ResourceHelper.deleteStudent(id);
  return String.valueOf(status);
} 
representation package overriew:
Restlet 对表现层的技术支持也是通来representationq个cL实现的,representation 
  Restletq没有你Setvlet API那样有自已的JSP作表现的技术,它是通过这三种模板技术整合v来而已?/z> XSLTFreeMarker and Apache Velocity 
The org.restlet.representation package contains common representation data elements. Here is a hierarchy diagram with the core Representation classes:

Overview  Representation package


representations
当然restlve只是提供了一个入口,到要对数据库进?z>CURD操作Ӟ基具体实现还是由JDBC{技术来实现.



jimmy2009 2012-05-24 12:19 发表评论
]]>
վ֩ģ壺 | | ƽ| | | | տ| | ѭ| | | | | Ȫ| | ۲| | | | | ͨɽ| | ˹| Ϻ| | ï| | Ƽ| | ³ľ| | ܱ| | Ͼ| ʡ| ޵| ض| | | | ˫|