本篇内容主要讲解“github中解耦与MVC是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“github中解耦与MVC是什么”吧!
软件工程有个熟悉的概念:高内聚,低耦合。如果我们需要比较高的凝聚效果,我们当然会要先解除模块之间的紧密关系。
解耦:把你的代码组织成最小组织单位(模块),并限制他们之间的交互。
当你将你的代码解除耦合后,在你需要更换一个已经解耦的模块时,其他的模块仍然能够正常工作。
一个解耦的例子:
该函数耦合比较紧密,增大了依赖类的数目
void function(Date date, Selection selection) { TimeZone tz = selection.getRecoder().getLocation().getTimeZone(); }
解除耦合:
解除了多余的依赖类,函数接口只要求提供需要的东西,而不是挖通了调用的层次关系 - 实现了简单的解耦。
void function(Date date, TimeZone tz)
{
}
/* 调用时只需要传递需要的东西 */
function(date, selection.getTimeZone());
解耦在软件设计中占有很重要的地位,过度耦合会严重影响代码的可拓展性,增加维护成本,所以理解解耦并运用到实际项目中非常有必要。
使模块之间的耦合减少到最小。
Model-View-Controller (MVC) 是解耦的经典代表,它解除了数据,控制器,视图这 3 者的耦合,从而给 GUI 设计带来非常大的方便,所以我们必须了解并会使用这套方法。
什么是 Model ?
Model 即模型,表示要展示对象的抽象数据类型。
什么是 View ?
View 即视图,表示 Model 的展示方式,即 GUI 控件样式。
什么是 Controller ?
Controller 即控制器,用来控制 View 显示 Model,相当于 Model 和 View 的桥梁。
MVC 的关键概念:既让模型与表示模型的 View 分离,也让模型与管理视图的控制器分离。这样一来,我们的模型,视图,控制器就基本完成了解耦工作了。
简单来说:
MVC 在 GUI 上应用的思想就是让控制器将数据模型按照一定的规则送到视图上去展示。其中模型,视图,控制器分别在代码中体现为 3 个独立的 class。
这个思想也使用在最近的一个项目中,项目需要解析指定的数据包中的数据(Model),然后在自定义的控件(View)上动态(Controller 来控制)显示出来,项目的结构支撑很重要的一块就是 MVC 了,可见它的重要性。
到此,相信大家对“github中解耦与MVC是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。