• 关于

    view层

    的搜索结果

回答

MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化我们的开发效率。 比如说我们实验室在以前项目开发的时候,使用单页应用时,往往一个路由页面对应了一个脚本文件,所有的页面逻辑都在一个脚本文件里。页面的渲染、数据的获取,对用户事件的响应所有的应用逻辑都混合在一起,这样在开发简单项目时,可能看不出什么问题,当时一旦项目变得复杂,那么整个文件就会变得冗长,混乱,这样对我们的项目开发和后期的项目维护是非常不利的。 MVC 通过分离 Model、View 和 Controller 的方式来组织代码结构。其中 View 负责页面的显示逻辑,Model 负责存储页面的业务数据,以及对相应数据的操作。并且 View 和 Model 应用了观察者模式,当 Model 层发生改变的时候它会通知有关 View 层更新页面。Controller 层是 View 层和 Model 层的纽带,它主要负责用户与应用的响应操作,当用户与页面产生交互的时候,Co ntroller 中的事件触发器就开始工作了,通过调用 Model 层,来完成对 Model 的修改,然后 Model 层再去通知 View 层更新。 MVP 模式与 MVC 唯一不同的在于 Presenter 和 Controller。在 MVC 模式中我们使用观察者模式,来实现当 Model 层数据发生变化的时候,通知 View 层的更新。这样 View 层和 Model 层耦合在一起,当项目逻辑变得复杂的时候,可能会造成代码的混乱,并且可能会对代码的复用性造成一些问题。MVP 的模式通过使用 Presenter 来实现对 View 层和 Model 层的解耦。MVC 中的 Controller 只知道 Model 的接口,因此它没有办法控制 View 层的更新,MVP 模式中,View 层的接口暴露给了 Presenter 因此我们可以在 Presenter 中将 Model 的变化和 View 的变化绑定在一起,以此来实现 View 和 Model 的同步更新。这样就实现了对 View 和 Model 的解耦,Presenter 还包含了其他的响应逻辑。 MVVM 模式中的 VM,指的是 ViewModel,它和 MVP 的思想其实是相同的,不过它通过双向的数据绑定,将 View 和 Model 的同步更新给自动化了。当 Model 发生变化的时候,ViewModel 就会自动更新;ViewModel 变化了,View 也会更新。这样就将 Presenter 中的工作给自动化了。我了解过一点双向数据绑定的原理,比如 vue 是通过使用数据劫持和发布订阅者模式来实现的这一功 能。

剑曼红尘 2020-04-06 21:09:35 0 浏览量 回答数 0

回答

MVC只是我们在开发中常见的一个中架构模式,另外在此基础上发展上来的还有MVP,MVVM等。MVC是Model(模型),View(视图),Controller(控制器)的意思,MVC实现的是一种单向的数据流,从View->Model->Controller->View。MVP是在MVC基础上的一项解耦,使用MVC会使得View层的逻辑处理比较多,所以抽象出了中间层Presenter,实现View和Model之间的数据通信。MVVM是在MVP基础上的一项改进,MVVM多出了一个VM层,增加了双向数据绑定的功能,View层或者Model层的数据变动都会在这两层实时反应。

thomas.lin 2019-12-02 01:29:27 0 浏览量 回答数 0

问题

三层架构的通讯方式?

蛮大人123 2019-12-01 20:14:06 932 浏览量 回答数 1

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象(桥梁)。 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。 ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。

问问小秘 2020-02-17 16:00:02 0 浏览量 回答数 0

问题

在指定位置上一层创建View

爵霸 2019-12-01 19:24:31 835 浏览量 回答数 1

回答

就是字面上的区别 view透明 view的背景色透明 和 整个view隐藏从性能上看隐藏要好些,因为透明的话 GPU需要计算两层view的内容再显示渐隐的做法一盘就是alpha从1到0,然后hidden

a123456678 2019-12-02 03:12:42 0 浏览量 回答数 0

回答

递归判断view所有层的子view种是否包含目标view@interface UIView (Extend) - (BOOL)containSubview:(UIView *)view; @end @implementation UIView (Extend) - (BOOL)containSubview:(UIView *)view { BOOL isContained = NO; if([self.subviews containsObject:view]) { isContained = YES; } else { if (self.subviews.count > 0) { for (UIView *subview in self.subviews) { if ([subview containSubview:view]) { isContained = YES; break; } } } } return isContained; } @end删除子view`[subView removeFromSuperView];`

爵霸 2019-12-02 02:17:03 0 浏览量 回答数 0

回答

当TouchEvent发生时,首先Activity将TouchEvent传递给最顶层的View, TouchEvent最先到达最顶层 view 的 dispatchTouchEvent ,然后由 dispatchTouchEvent 方法进行分发,如果dispatchTouchEvent返回true ,则交给这个view的onTouchEvent处理,如果dispatchTouchEvent返回 false ,则交给这个 view 的 interceptTouchEvent 方法来决定是否要拦截这个事件,如果 interceptTouchEvent 返回 true ,也就是拦截掉了,则交给它的 onTouchEvent 来处理,如果 interceptTouchEvent 返回 false ,那么就传递给子 view ,由子 view 的 dispatchTouchEvent 再来开始这个事件的分发。如果事件传递到某一层的子 view 的 onTouchEvent 上了,这个方法返回了 false ,那么这个事件会从这个 view 往上传递,都是 onTouchEvent 来接收。而如果传递到最上面的 onTouchEvent 也返回 false 的话,这个事件就会“消失”,而且接收不到下一次事件。

爵霸 2019-12-02 01:56:15 0 浏览量 回答数 0

问题

如何定义架构分层传输对象

1910390006155544 2020-06-01 12:03:43 0 浏览量 回答数 0

回答

楼主好! SLB还没有FTP传输功能.SLB当前提供4层(TCP协议)和7层(HTTP协议)的负载均衡服务。 您可以参考一下SLB功能: http://help.aliyun.com/doc/view/13509982.html?spm=0.0.0.0.Avhgsm和 http://help.aliyun.com/doc/view/13509941.html?spm=0.0.0.0.jv76tr

阿里云支持与服务 2019-12-01 23:28:59 0 浏览量 回答数 0

回答

变大变小可以用view.setScaleX和setScaleY,使用前分别设置轴心(setPivotX)。要动画而不是直接突然变大的话用属性动画,属性动画改变scaleX和scaleY值。补间动画在这里不好用不需要动画的话,这里可以用把其他View都gone掉更好,用线性布局和weight去1/4平分空间,gone掉别的view的时候这个就自然变大占满了或者应该播放时上面蒙层一个View专门处理播放.

爵霸 2019-12-02 01:58:19 0 浏览量 回答数 0

回答

不用执着于表结构,表是一种数据结构,view也是,甚至cache,nosql都是,do只是指的数据层返回的对象结构,数据层定义是什么就返回什么

yu_hc200 2019-12-02 01:52:12 0 浏览量 回答数 0

问题

编程规范里面关于DO的定义的问题

dinohe 2019-12-01 19:29:56 955 浏览量 回答数 7

问题

Angular中ng-view做局部刷新问题

a123456678 2019-12-01 20:22:47 2695 浏览量 回答数 1

回答

把前端和view层的关系先弄清楚。<imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/0.gif"alt=""/>把前端和view层的关系先弄清楚。 form:options是Spring处理REST用的那个form吗? 如果是,那么会被Spring给处理成options的,HTML里没有form:options这个标签怎么解决的啊,我也遇到这个问题哦,知道了。

爱吃鱼的程序员 2020-06-14 22:57:43 0 浏览量 回答数 0

回答

在Android中Activity一般即作为View又作为Controller,导致这两层耦合度过高;遇到逻辑复杂的情况则代码阅读和维护成本相对较高。MVP则可以将Activity仅仅作为View,通过接口解耦。

唐风吹无痕 2019-12-02 02:10:15 0 浏览量 回答数 0

问题

请问重复的业务逻辑应该写在baseaction里面还是service层里面?

a123456678 2019-12-01 20:18:26 1735 浏览量 回答数 1

回答

首先先申明一点,不管是React还是Vue,它们都不是MVVM框架,只是有借鉴MVVM的思路。文中拿Vue举例也是为了更好地理解MVVM的概念。 接下来先说View和Model: View很简单,就是用户看到的视图Model同样很简单,一般就是本地数据和数据库中的数据 基本上,我们写的产品就是通过接口从数据库中读取数据,然后将数据经过处理展现到用户看到的视图上。当然我们还可以从视图上读取用户的输入,然后又将用户的输入通过接口写入到数据库中。但是,如何将数据展示到视图上,然后又如何将用户的输入写入到数据中,不同的人就产生了不同的看法,从此出现了很多种架构设计。 传统的MVC架构通常是使用控制器更新模型,视图从模型中获取数据去渲染。当用户有输入时,会通过控制器去更新模型,并且通知视图进行更新。 但是MVC有一个巨大的缺陷就是控制器承担的责任太大了,随着项目愈加复杂,控制器中的代码会越来越臃肿,导致出现不利于维护的情况。 在MVVM架构中,引入了ViewModel的概念。ViewModel只关心数据和业务的处理,不关心View如何处理数据,在这种情况下,View和Model都可以独立出来,任何一方改变了也不一定需要改变另一方,并且可以将一些可复用的逻辑放在一个ViewModel中,让多个View复用这个ViewModel。 以Vue框架来举例,ViewModel就是组件的实例。View就是模板,Model的话在引入Vuex的情况下是完全可以和组件分离的。 除了以上三个部分,其实在MVVM中还引入了一个隐式的Binder层,实现了View和ViewModel的绑定。 同样以Vue框架来举例,这个隐式的Binder层就是Vue通过解析模板中的插值和指令从而实现View与ViewModel的绑定。 对于MVVM来说,其实最重要的并不是通过双向绑定或者其他的方式将View与ViewModel绑定起来,而是通过ViewModel将视图中的状态和用户的行为分离出一个抽象,这才是MVVM的精髓。

前端问答 2019-12-02 03:21:30 0 浏览量 回答数 0

回答

首先先申明一点,不管是 React 还是 Vue,它们都不是 MVVM 框架,只是有借鉴 MVVM 的思路。文中拿 Vue 举例也是为了更好地理解 MVVM 的概念。 接下来先说下 View 和 Model: View 很简单,就是用户看到的视图 Model 同样很简单,一般就是本地数据和数据库中的数据 基本上,我们写的产品就是通过接口从数据库中读取数据,然后将数据经过处理展现到用户看到的视图上。当然我们还可以从视图上读取用户的输入,然后又将用户的输入通过接口写入到数据库中。但是,如何将数据展示到视图上,然后又如何将用户的输入写入到数据中,不同的人就产生了不同的看法,从此出现了很多种架构设计。 传统的 MVC 架构通常是使用控制器更新模型,视图从模型中获取数据去渲染。当用户有输入时,会通过控制器去更新模型,并且通知视图进行更新。 但是 MVC 有一个巨大的缺陷就是控制器承担的责任太大了,随着项目愈加复杂,控制器中的代码会越来越臃肿,导致出现不利于维护的情况。 在 MVVM 架构中,引入了 ViewModel 的概念。ViewModel 只关心数据和业务的处理,不关心 View 如何处理数据,在这种情况下,View 和 Model 都可以独立出来,任何一方改变了也不一定需要改变另一方,并且可以将一些可复用的逻辑放在一个 ViewModel 中,让多个 View 复用这个 ViewModel。 以 Vue 框架来举例,ViewModel 就是组件的实例。View 就是模板,Model 的话在引入 Vuex 的情况下是完全可以和组件分离的。 除了以上三个部分,其实在 MVVM 中还引入了一个隐式的 Binder 层,实现了 View 和 ViewModel 的绑定。 同样以 Vue 框架来举例,这个隐式的 Binder 层就是 Vue 通过解析模板中的插值和指令从而实现 View 与 ViewModel 的绑定。 对于 MVVM 来说,其实最重要的并不是通过双向绑定或者其他的方式将 View 与 ViewModel 绑定起来,而是通过 ViewModel 将视图中的状态和用户的行为分离出一个抽象,这才是 MVVM 的精髓。

前端问答 2019-12-24 12:31:00 0 浏览量 回答数 0

回答

1、ScrollView 的滚动条默认置顶,若想设置它的位置,可以使用mScrollView.smoothScrollTo(x,y)方法,可达到效果。 2、crollTo方法可以调整view的显示位置。在需要的地方调用以下方法即可。 3、scroll表示外层的view,inner表示内层的view,其余内容都在inner里。 注意,方法中开一个新线程是必要的。否则在数据更新导致换行时getMeasuredHeight方法并不是最新的高度。 public static void scrollToBottom(final View scroll, final View inner) { Handler mHandler = new Handler(); mHandler.post(new Runnable() { public void run() { if (scroll == null || inner == null) { return; } int offset = inner.getMeasuredHeight() - scroll.getHeight(); if (offset < 0) { offset = 0; } scroll.scrollTo(0, offset); } }); } 答案来源于网络

养狐狸的猫 2019-12-02 02:18:30 0 浏览量 回答数 0

回答

checkbox.setOnClickListener(new MyListener()); imageview.setOnClickListener(new MyListener()); textview.setOnClickListener(new MyListener());自己写一个 MyListener 继承ClickListener... 做统一事件处理。完事。不推荐这么做,推荐这三个要接收点击事件的控件外包裹一层View,用View来接收点击事件。这样点击操作失误率会小一些以上手打伪代码.

蛮大人123 2019-12-02 02:05:37 0 浏览量 回答数 0

问题

RelativeLayout 中两个上下view的触摸事件分发(不是子view和父view的关系)

爵霸 2019-12-01 19:51:23 1417 浏览量 回答数 1

回答

1、用sql语句查出购物车中的商品包含了哪几个不同的店铺, 2、每个店铺按照店铺id查出购物车中对应的该店铺的所有商品, 3、把查出来的数据转为数组再放入一个数组中(或者ArrayList嵌套ArrayList,都一样哈), 4、最后在view层使用两层循环把数据展示出来。 这里面如果有很多个店铺就会造成很多次sql查询,如果要做到更高性能要考虑sql优化。

爵霸 2019-12-02 02:28:05 0 浏览量 回答数 0

回答

MVC,俗称Model(模型),View(视图)和Controller(控制层)

1565966273186108 2019-12-02 01:50:39 0 浏览量 回答数 0

回答

谢谢!你的意思是,只能控制到database,而没法控制到table、view那一层。是吗?

大约在冬季 2019-12-01 23:33:43 0 浏览量 回答数 0

回答

您好! 针对7层(HTTP协议)服务可以通过Http Header:X-Forwarded-For获取来访者真实IP,前提是您在配置SLB服务监听时开启了“获取真实访问IP”的功能;针对4层(TCP协议)服务可以直接获取,无需额外配置。 请参考: http://help.aliyun.com/view/11108234_13502961.html?spm=5176.7225517.1997285493.4.0u7IAZ

joy_zheng 2019-12-02 00:15:15 0 浏览量 回答数 0

回答

1.个人认为,MVC里面,control,service,dao都属于控制层。前端界面作于view,数据库充当Model的角色2.在service里面有很多private方法其实没有太大问题。如果需要可以增加manager这样的层次对某些privae方法进行封装。但是层次分的太多,在实际开发的时候就会觉得很繁琐,一个小功能就需要来几个层次间串。其实也是一种维护和开发成本。一般事务的界限会划分在service层的public方法,所以写private方法的时候要小心,不然嵌套在一起会出现一些问题。

蛮大人123 2019-12-02 01:53:24 0 浏览量 回答数 0

回答

您好! 针对7层(HTTP协议)服务可以通过Http Header:X-Forwarded-For获取来访者真实IP,前提是您在配置SLB服务监听时开启了“获取真实访问IP”的功能;针对4层(TCP协议)服务可以直接获取,无需额外配置。 请参考: http://help.aliyun.com/view/11108234_13502961.html?spm=5176.7225517.1997285493.4.0u7IAZ

阿里云支持与服务 2019-12-02 00:15:14 0 浏览量 回答数 0

回答

后端的View层可以尝试使用模板技术,FreeMarker,Velocity等前端同样可以使用模板技术,异步加载用Ajax就可以了

小旋风柴进 2019-12-02 02:27:02 0 浏览量 回答数 0

回答

后端的View层可以尝试使用模板技术,FreeMarker,Velocity等前端同样可以使用模板技术,异步加载用Ajax就可以了.

蛮大人123 2019-12-02 02:04:05 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站