首页
关于视觉癖
设计服务
热门主题
投稿通道
设计师入驻
设计师招聘
在线留言
联系我们

热门主题

当前位置:视觉癖 > 热门主题 >

系统设计(app架构设计)

发布时间:2022-02-09 14:33 所属分类:热门主题 浏览次数:
  系统设计
  体系规划是根据体系分析的结果,运用体系科学的思维和办法,规划出能最大限度满足所要求的目标(或目的)的新体系的过程。体系规划内容,包括确定体系功能、规划方针和办法,发生抱负体系并作出草案,经过搜集信息对草案作出批改发生可选规划计划,将体系分解为若干子体系,进行子体系和总体系的详细规划并进行评价,对体系计划进行论证并作出功能效果预测。
系统设计
  app架构设计
  1.架构规划的意图
  对程序进行架构规划的原因,归根结底是为了进步生产力。经过规划使程序模块化,做到模块内部的高聚合和模块之间的低耦合。这样做的好处是使得程序在开发的过程中,开发人员只需求专注于一点,进步程序开发的效率,而且更简单进行后续的测试以及定位问题。但规划不能违反意图,关于不同量级的工程,详细架构的完成办法必定是不同的,切忌犯为了规划而规划,为了架构而架构的毛病。举个简略的比如,一个AndroidApp如果只要3个Java文件,那只需求做点模块和层次的区分就可以,引进结构或许架构反而进步了工作量,降低了生产力。但我当前开发的App终究代码量应该在10W行以上,本地需求进行复杂操作,同时也需求考虑到与其他的Android开发者以及后台开发人员之间的同步配合,那就需求在架构上进行一些考虑。
  2.依据MVP的架构规划思路
  在App开发过程中,经常出现的问题便是某一部分的代码量过大,虽然做了模块区分和接口阻隔,但也很难完全避免。从实践中看到,这更多的出现在UI部分,也便是Activity里。我曾见过2000+行以上基本不带注释的Activity,那时我的榜首反响便是想吐。Activity内容过多的原因其实很好解释,由于Activity本身需求担负与用户之间的操作交互,再加上现在大部分的Activity还对整个App起到控制器的效果,这又带入了很多的逻辑代码,形成Activity的臃肿。为了解决这个问题,我们引进了MVP结构思路。
  2.1什么是MVP?
  MVP是一种运用广泛的根底架构形式,运用依据事情驱动的应用结构。MVP从更早的MVC结构演化过来的一种结构,与MVC有必定的相似性。MVP结构由3部分组成:View负责显现,Presenter负责逻辑处理,Model供给数据。MVP与MVC之间最主要的区别在控制层上,在MVP结构中,View与Model并不直接交互,一切的交互放在Presenter中;而在MVC里,View与Model会直接产生必定的交互。MVP的Presenter是结构的控制者,承当了很多的逻辑操作,而MVC的Controller更多时候承当一种转发的效果。因此在App中引进MVP的原因,是为了将此前在Activty中包括的很多逻辑操作放到控制层中,避免Activity的臃肿。MVP的变种有很多,其间运用最广泛的是PassiveView形式,即被迫视图。在这种形式下,整个结构内部模块之间的逻辑操作均由Presenter控制,View仅仅是整个操作的报告者和成果接收者,Model依据Presenter的单向调用返回数据(图片来自网络)。而且MVP形式使得View与Model的耦合性更低,降低了Presenter对View的依赖,完成了关注点别离的初衷,便利开发人员的编码和测试工作。
  详细到AndroidApp中,我一般将App依据程序的结构进行纵向区分,对应MVP分别为模型层,UI层和逻辑层。UI层一般包括Activity,Fragment,Adapter等直接和UI相关的类,UI层的Activity在发动之后实例化相应的Presenter,App的控制权后移,由UI搬运到Presenter,两者之间的通信经过BroadCast、Handler或许接口完成,只传递事情和成果。举个简略的比如,UI层通知逻辑层(Presenter)用户点击了一个Button,逻辑层(Presenter)自己决定应该用什么行为进行响应,该找哪个模型(Model)去做这件事,最后逻辑层(Presenter)将完成的成果更新到UI层。
  2.2MVP架构存在的问题
  搬运逻辑操作之后或许部分较为复杂的Activity内代码量仍是不少,所以在分层的根底上再参加模板办法(TemplateMethod)。详细做法是在Activity内部分层。其间最顶层为BaseActivity,不做详细显现,而是供给一些根底样式,Dialog,ActionBar在内的内容,展现给用户的Activity继承BaseActivity,重写BaseActivity预留的办法。如有必要再进行二次继承,App中Activity之间的继承次数最多不超越3次。
  模型层(Model)中的全体代码量是最大的,一般由很多的Package组成,针对这部分需求做的便是在程序规划的过程中,做好模块的区分,进行接口阻隔,在内部进行分层。
  强化Presenter的效果,将一切逻辑操作都放在Presenter内也简单形成Presenter内的代码量过大,关于这点,我的办法是在UI层和Presenter之间设置中介者Mediator,将例如数据校验、组装在内的轻量级逻辑操作放在Mediator中;在Presenter和Model之间运用代理Proxy;经过上述两者分管一部分
 
作品标签: app 架构设计

评论列表(共220人参与)参与讨论或分享设计作品获得视觉癖积分奖励

用户头像图片
    不行能天天注册会员
    2022-02-09 7:15:30

    只要在双方的色度上有些改变,让这两种色彩能给予空间一种新的生命。所以色彩调配一定要适中。 。 7、粽子尝一尝,瑞气满口香。

    回复
用户头像图片
    、对您常注册会员
    2022-02-09 5:26:2

    要将完好的公司品牌姓名加入到logo规划里边,这是十分关键的。因为在规划的时分能够看到不同字体调配的作用,所以要多多检查,多多考虑,这样才能够选出认可度更高的l系统设计(app架构设计 4、图案化和雕塑化方法 。。。

      用户头像图片
        otosh注册会员
        2022-02-09 22:56:48

        @、对您常:系统设计(app架 1、抠图 翻开软件,根据自己的相片类型挑选人像抠图、物品抠图&~~~

    回复
用户头像图片
    ,一般时效性游客
    2022-02-09 8:33:5

    游客87079:系统设计(apr;"> iv> 11、祝您:事业正当午,身体壮如虎,金钱不胜数,干活不辛苦,浪漫似曲谱,高兴非您莫属!五一高兴!

    回复
用户头像图片
    化商场、注册会员
    2022-02-09 17:40:4

    g alt="系统设计" src="/uploads/allimg/220209/1-2202091 4.接着点击菜单栏中的布景,左右滑动,选取一张满意的图片作为布景;

    回复