如何选择合适的人,规范和框架填充墙砌筑规范

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
开发框架的选择.doc33页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:120 &&
开发框架的选择,ios开发框架的搭建,开发自己的php框架,ios 开发常用的框架,常用的web开发框架,开发框架的好处,yaf 开发的框架,常用的开发框架,使用开发框架的好处,主流的java开发框架
你可能关注的文档:
··········
··········
软件开发框架的运用和选择
如何在企业业务迅猛发展、应用需求不断扩大、市场竞争日趋激烈、业务整合难度不断加大的基础上,采用灵活、先进的设计理念及结合开放式的系统软硬件平台,在确保业务系统安全、高效、可靠的基础上,构建面向Web、事务调度、系统配置、业务拓展、统计分析 kxiangli 的 Blog
软件业圣经《设计模式》对框架有如下定义:“A framework is a set of cooperating classes that make up a reusable design for a specific class of software(一个框架,就是一组相互协作的类;对于特定的一类软件,框架构成了一种可重用的设计)”。这个定义虽然主要着眼于面向对象的软件开发,但已经基本上给出了这个词的核心含义:框架是软件系统的设计、开发过程中的一个概念,它强调对已完成的设计、代码的重复使用,并且,一个框架主要适用于实现某一特定类型的软件系统。
为了更好地说明框架是什么,也许还应该看看框架不是什么。
框架不是现成可用的应用系统。它仍是一个半成品,等待后来者做“二次开发”,实现为具体的应用系统。
框架不是“平台”。后者的概念更加浮泛和模糊――人们说的一个平台,可以是一种操作系统,一种应用服务器,一种数据库软件,一种通信中间件等等,因此“平台”几乎成了所有系统软件的统称。在平台的大家族中,框架的概念可能与近来人们常说的“应用平台”最为接近,但平台主要指提供特定服务的系统软件,而框架则更侧重于设计、开发过程,或者可以说,框架通过调用平台提供的服务而起作用。
框架不是工具包(toolkit)/类库(library)/API。目前流行的很多框架中,就包括了大量的类库和API,但是调用API并不就是在使用框架开发。仅仅使用
正在加载中,请稍后...为Android选择一个合适的架构 - 简书
为Android选择一个合适的架构
在web开发中存在很多已经非常成熟的框架,比如ROR(Ruby)、Django(Python)、Play(scala&java)还有名目众多的Java家族。框架会遵循一定的模式,这样使得常见的问题可以很容易的解决,使开发人员更专注于业务逻辑。
但是在移动开发(Android)上,很遗憾的是并没有好的架构的可以使用。通常我们在写App的时候会调研一堆开源项目,每个项目都致力于解决一部分问题(这是对于有经验的开发人员而言的,熟知各种开源项目,对于新手的往往重复造了很多轮子而且还造的不好):
Retrofit、Volley 等用来解决大量的网络请求问题
UIL、Picasso、Fresco、Glide 等用来解决图片加载的问题
ORMLite、SugarORM、GreenDAO等提供ORM框架
RoboGuice、ButterKnife、Dagger等提供依赖注入的功能
各种开源的UI库,提供特殊的UI需求,比如下拉刷新等等
在开源精神大行其道的今天,这样的项目实在太多,在
的Github页面上收集了很多。但是这些项目都是用来解决一部分问题的,如何在自己的代码中有效的组织这些项目成了新的开发难题。而这绝大多数时候依赖于开发人员的工作经验(所以现在拥有4、5年开发经验的程序员是很热门的)。一个有经验的程序员,会依靠他过往的项目经验,有效地组织这个开源项目(也即是我们常说的,我们的App就是用几个开源库拼凑的)。
但是在Web开发中,即使是新手也可以很容易上手项目写出高质量的代码,调度、更换、修改不同的功能组件。思考其中的原因,是源于在Web上他们不是从零写代码,而是基于某个框架写代码,而框架已经约定了数据库、网络、请求路由、分层结构等等,这使得更换某个功能组件就像写一行“HelloWorld”一样简单。所以在移动开发日渐成熟的今天,我们也需要一套架构来帮助我们约定一些规则,解决常见的问题,比如数据存储、网络请求、UI状态和底层数据的同步方式。
而一旦有了架构,我们也可以基于此更深入地讨论问题。
U+2020项目
A sample Android app which showcases advanced usage of Dagger among other open source libraries.
是安卓届的大神写的一个开源项目,他的目的是提供一个示例,来告诉开发者如何用Dagger和各种不同的开源组件一起协调工作。这是一个很好的开始,大部分Android从业人员都应该去看一看这个项目,通过它我们可以了解到别人是如何构建项目的,而不是生活在自己的小圈子里面。但是这还不够,这个项目仅仅是一堆源码,学习起来也是比较吃力地,缺少文档说明,同时也很难简单的透析作者的思想 —— 他究竟是按照什么样的思路来构建这个App的。所以我们需要的是更抽象的指导加上具体的示例,这样才能提供更平滑的学习曲线。
AndroidFlux
注:Flux是开源大户Facebook在去年F8上提出的一种前端UI交互架构
在此之前写过一篇文章例数过去在Android平台经历的“架构”上的磕磕碰碰。那时在Android届已经逐渐流行起一种UI架构方式——MVP(为什么不是MVC,看完你心中会有答案)。我个人也是挺喜欢MVP(更爱Flux^_^)的,MVP模式可以方便的解决Android上的大部分问题,但是MVP模式本身存在的问题在于——难以驾驭!MVP模式发展了很多年,但是并没有任何组织来维护这种架构,它更像是课本上的一个名词定义,不同的人用MVP会写出不同的代码。这非常不利于团队协作,当代码量越来越大,协作开发人员越来越多的时候,不同成员之间会因为理解的不同导致项目的代码逐渐变得难以维护。
所以当我第一次见到的Flux的时候,有种莫名的感激,通过Flux详细的文档可以准确/深入的了解这种架构设计的初衷,每个模块设计的用意,减少原来MVP/MVC的各种误解。另一方面是实用,经过在真实项目中的应用,Flux是非常适合移动平台的(Android已经验证,iOS没有实践),移动软件的特点是用户体验第一、更新速度快,存储放在云端,本地存储仅作缓存使用,整个App设计的重心是围绕着用户体验来设计的。Flux的优点是适合处理复杂的用户界面,支持快速开发、测试简单,UI可预测。在用Flux开发Android应用的过程中,隐隐感觉到一个字——“爽”!
“为Android选择一个合适的架构?” “当然是Flux!”
最后我们发起了项目,在这个项目中我们把Flux架构移植到了Android平台。提供详细的说明文档,尽量去规范化一个完整App的架构设计,方便不同的人写出同样质量的代码。同时也在这里分享在开发过程中遇到的问题和处理问题的方法。
Flux并不是静止的,MVP在过去几年已经不再发展,对于新的平台新的开发环境,能否很好的使用取决于开发人员的个人能力。而Flux一直在演变以适应最新的开发技术/环境,目前为止,Flux已经衍生出适应不同业务场景的其他架构,目前最流行的是Redux。
AndroidFlux项目不仅仅做简单的翻译工作,还需要提供Android平台的适配,需要大家的共同参与,分享开发过程中的经验心得,共同维护项目的发展。
加入我们讨论(微信群):
通俗的说,这是一篇卖瓜文软件体系结构课后作业及答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
软件体系结构课后作业及答案
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 框架结构规范 的文章

 

随机推荐