首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

胖模型瘦视图:我应该把相关代码放在哪里?

胖模型瘦视图是一种软件开发架构模式,用于组织和管理应用程序的代码。在这种模式中,业务逻辑主要集中在模型(Model)中,而视图(View)只负责展示数据和用户界面。那么,相关代码应该放在哪里呢?

根据胖模型瘦视图的原则,我们应该将相关代码放在模型(Model)中。模型是应用程序的核心部分,负责处理数据逻辑、业务规则和数据库交互等功能。通过将代码放在模型中,可以实现代码的重用和集中管理,提高代码的可维护性和可测试性。

具体来说,相关代码可以包括数据处理、业务逻辑、算法实现等内容。例如,对于一个电子商务网站,相关代码可以包括用户注册、商品管理、订单处理等功能的实现。这些代码应该尽量遵循面向对象的设计原则,将不同功能的代码封装在不同的类或模块中,以实现代码的模块化和可扩展性。

在云计算领域,腾讯云提供了一系列与胖模型瘦视图相关的产品和服务,可以帮助开发者快速构建和部署应用程序。例如,腾讯云的云服务器(CVM)提供了稳定可靠的计算资源,可以用于承载应用程序的后端逻辑。腾讯云的云数据库(CDB)提供了高性能的数据库服务,可以用于存储和管理应用程序的数据。此外,腾讯云还提供了云函数(SCF)、容器服务(TKE)等产品,可以用于实现代码的无服务器部署和容器化管理。

更多关于腾讯云相关产品和服务的介绍,请访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你的代码为何难以维护?

因为有些代码竟然看不懂了,瞬间又对当年的自己莫名崇拜,原来自己也曾经写过这么“高深莫测”的代码。某个刹那,竟自觉技不如从前,现在越发觉得编码就跟写作文一样,满满的套路和模棱两可的话。...模型视图在 MVC 设计模式中,模型视图都可以承载逻辑,但更优的方案是:模型视图。即把逻辑封装在模型方法中,给模型赋予更多的功能,从而可以大幅度减少视图层的复杂性。...模型视图同时也更契合高内聚低耦合的目标。5. 注重设计模式设计模式是经典的,场景化解决方案,其实笔者开篇说的代码中充满套路,就是设计模式。...提高可读性另一个要注意的是,逻辑相关性的代码放到一起。代码和作文一样,都有先后顺序,段落之间也都有关联关系。相关逻辑放一起,免得还要承上启下。8....但已表达清楚,应该如何思考才能让代码更加易读易维护。建议各位有时间也翻翻自己的旧代码,你会发现总有改进的空间。

37930

关于symfony的serivce存在的意义

如果没有serivce在mvc框架中, 你业务逻辑放到哪里呢? 放到controller里面? 显然不合适,因为有些逻辑你希望复用,放到model层里?...开玩笑 那个层算是数据库操作层,只想把最赤裸的数据操作放到model里面。 所以你知道,就很纠结的,有些逻辑放到了controller里,有的放到了model里。...有人提出了modelcontroller, 也有人觉得controllermodal好,觉得无论哪个都不好,业务逻辑就应该放到它本身的地方,不觉得serivce用起来好,因为symonfy的写法还是有些啰嗦的...在想是不是有什么mvc框架能够引入一个类似service 的层,用起来没有那么啰嗦,就是简单的存放一些业务逻辑。

70820
  • 2018年系统架构师软考案例分析考点

    1.操作性需求、性能需求、 安全性需求和文化需求 统性能需求(Performance Requirements):指响应时间、吞吐量、准确性、有效性、资源 利用率等与系统完成任务效率相关的指标。...2.客户端与客户端 2.1 无论还是,要做到用户界面的个性化应该都没有问题,而且难说哪种更强。毕 竟的只是业务逻辑从客户端放到了服务器上。 2.2 客户端,在客户端的运算能力强一些。...客户端可以在服务端面用集群做支持。 2.3 客户端将业务逻辑迁移到应用服务器上,所以有故障只要修复服务器上的内容, 而客户端要更新所有客户端,工作量大,所以此情况下客户端有优势。...2.4 客户端的后端是数据库,没有业务逻辑,此时要做加密传输没有基础,但客户 端可以做到。 2.5 客户端做到 2G 数据缓存很容易,而客户端不现实。...接口是釆用中立的方式进行定义的, 它应该 独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统 中的服务可以以一种统一和通用的方式进行交互。

    1K10

    iOS应用架构谈 view层的组织和调用方案 pragma mark - life cyclepragma mark - life cyclepragma mark - getters and set

    按照道理来讲,定代码规范应该是属于通识,放在这里讲的原因只是因为这边需要为View添加一个规范。...关于Model和Model 在面试和跟别人聊天时,发现知道Model和Model的概念的人不是很多。...很少看到国内有讨论这个的资料,所以在这里打算补充一下什么叫Model什么叫Model。以及他们的争论来源于何处。 什么叫Model? Model包含了部分弱业务逻辑。...所以关于前面按下不表的关于Model和Model的选择,的态度是更倾向于Model。...放在哪里都比放在addsubview的地方好,个人认为最好的地方还是放在getter里面,结合单例模式之后,代码会非常整齐,生产的地方和使用的地方得到了很好的区分。

    96480

    前端分层:业务逻辑从交互代码中解救出来

    能这么讲出来,说明这里面有很大的问题。问题在哪里呢?...薄薄的视图层 有人多次给我评论讲,前端就应该UI。对于这一点不置可否,不过在我看来,UI的前提是在剖离业务逻辑,纯界面交互的情况下讲UI才是准确的。...以react为例,我们的一个react应用中有组件,有状态管理,有路由管理,这些都是应该的,但问题在于,是因为基于react的视图层处理导致我们的代码臃肿了,还是因为我们一边写界面交互一边处理业务逻辑代码撑肥了呢...这样的代码组织还面临一个问题,想你也会思考到这个问题,就是:模型、控制器、视图应该放在不同的目录中,还是放在同一个目录中?认为这个问题还是需要根据实际的情况来看。...但是,就个人而言,更倾向于将一个模块的模型、控制器、视图放在一个模块目录中,这个模块从某些意义上,可以从这个项目拖到另外一个需要这个模块的项目中去,你只需要在顶层的应用上,组织和使用这个业务模块。

    1.7K10

    day12_JavaWeb设计模式与案例学习笔记

    一、JavaWeb开发模式     C/S:客户端 / 服务器 (客户端)比如:LOL、CS、魔兽世界。.exe安装文件。     B/S:浏览器 / 服务器(客户端)比如:页游。...相当于new出来一个类,即jsp代码中嵌入实体类(java代码),不合适实际开发!     ...一般new一个类(实体bean类),是纯的java代码,就放在专门放java代码的项目的src里面比较好,比如:XxxServlet.java中。   ...2、Model2模式(模拟MVC)     JSP + Servlet + JavaBean     JavaBean放到3个域对象中。     ...MVC:开发模式       M:Model模型             相当于 JavaBean(即四种作用域)       V:view视图                相当于 JSP

    52720

    接口隔离原则:接口里的方法,你都用得到吗?

    在做软件设计的时候,我们经常考虑的是模型之间如何交互,接口只是一个方便描述的词汇,为了让我们注意力从具体的实现细节中抽离出来。但是,如果没有设计特定的接口,你的一个个具体类就变成它的接口。...典型的问题就是接口过“”,什么叫接口过“”呢?给你举个例子。 接口减肥 某银行的系统,支持存款、取款和转账。 通过一个接口向外部系统暴露这些能力,而不同能力的差异要通过请求内容区分。...然而,在这个实现里,有一个接口就太“”了,它就是TransactionRequest。 TransactionRequest这个类包含了相关请求内容,虽无可厚非。...所以,我们可以引入一些“”接口: 这里,TransactionRequest变成了一个接口,目的是给后面的业务处理进行统一接口,而ActualTransactionRequest则对应着原来的实现类...而在这段代码里,各种角色则汇聚到了ActualTransactionRequest。 在一个设计中,识别出不同角色至关重要,分离关注点! 接口是变和不变隔离开。现在有ISP,接口应该是尽可能稳定。

    38730

    开发一个可维护的程序

    Model 是数据模型,业务逻辑和业务规则,一般成品后不会改变,比如博客里的文章,注意发布、回收、评论等虽然也是对数据的操作,但也被归到 model 里面,一般表现为类的方法。...model,对 model 执行什么操作,为视图准备哪些数据。...如果是 model 提供一个接口给 controller,加入这个值出了异常,只需要在 model 里面写个log,就能知道 到底是哪个调用接口的程序引入的bug。 怎么用 MVC?...Model是处理业务方面的逻辑,Controller只是简单的协调Model和View之间的关系, 只要是与业务有关的,就该放在Model里面。好的设计,应当是Model,Controller。...因此,对于reqeust的访问代码应该放在Controller里面,比如 $_GET $_POST 等。 但仅限于获取用户请求数据,不应该对数据有任何操作或预处理,这些工作应该交由Models来完成。

    56240

    Java学习笔记-全栈-web开发-08-MVC设计模式

    教学视频涉及到一些jsp页面代码,但由于jsp基本已被模板引擎所取代,所以本专栏没有jsp相关详解。 尽管如此,读者可自行选择学习使用jsp,因为模板引擎的使用跟jsp大同小异。...软件的MVC设计 1.1 软件开发模式 C/S:客户端 / 服务器 (客户端) 大部分处理在客户端执行,服务器压力很小,对客户端要求很高 B/S:浏览器 / 服务器 (客户端) 客户端...(浏览器)只做用户界面交互显示和部分数据处理,服务端做业务逻辑和数据处理,对客户端要求很低 随着大前端的潮流,逐渐向客户端发展(前端逐渐担任更多的任务) 1.2 JavaBean概念 Bean,豆荚...一般包含: 一个无参构造 私有属性 公共的getter和setter方法 1.3 MVC设计 M:model模型(Javabean) V:View视图(页面) C:Controller控制器(Servlet...commons-logging mysql-connector-java-x.x.x-bin 版本自行选择,可在maven仓库下载 2.2 项目结构 dao 接口 dao.impl 接口实现 model 模型

    71020

    局域网,园区网,广域网的区别是什么_局域网和互联网的区别与联系

    AP:无线接入点。 每个AP都需要登录到它的AP上单独进行配置。 在组网环境下的所有AP都是单个进行管理,可以自己进行管理。...AP: 它是通过AC是集中管理和控制,包括上面的策略,无线发送的信道频率,AP不能自己管理只能通过AC来控制,一个AC就可以管理多个接入的AP,比较方便。 AC:无线接入控制器。  ...市场上AP居多,如丰润达无线AP系列均为AP,需要和控制器或者交换机配合使用。也有些AP,可以自行管理,不用额外的控制器。...预警能力:指发现有异常之后,及时告知这个异常的点在哪里 它是根据以前掌握的系统脆弱性和了解当前的犯罪趋势,预测未来可能受到的攻击和危害。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1K20

    区块链的新概念“协议”

    最近得到一个新概念,协议(Fat Protocols)。(协议可以理解为基础链) 协议的概念来自于Fat Protocols,翻译版见文章末尾。...就好像你说A语,说B语,大家谁也听不懂谁。 ? 协议如此重要,可它却是价值最小的。但也不奇怪,因为那都是协议,薄薄的一层,只约定了软件应该如何通讯。...对比协议,协议之上的Status.im(微信),消息的发送和接收,都基于以太坊原生协议Whisper,从而实现了点对点加密通讯。不仅如此,它还是个原生钱包,你不必绑定银行卡。...这个案例中,协议提供的价值,要明显明显大于应用。随着DApp的增多,协议(基础链)的价值也会越来越大。 ?...另外,很多人怀疑区块链行业,觉得就几行代码,哪值那么多钱?那么设想一下,如果现在IP协议(最基础的网络协议)开始收费,我们每天要交多少钱呢?

    1.3K50

    10EB量级的基因大数据处理技术

    这是两只老鼠,这是中科院上海生命科学研究院赵力群教授的研究成果,他养的两只老鼠,一只养的特别,一只特别,他做了一个实验,特别的老鼠的粪便做成培养液喂给的老鼠,结果的老鼠变得非常,反过来也是...同时基因组里还有很多有趣的东西,AP+ALE 以后也很有趣,有时候测出来你不知道在哪里,没有证据表明一定要放在一个地方。...,大家很难想象,如果我们要建这么大的模型应该怎么处理。...因为本人比较喜欢运动,经常跑一个马拉松,但我发现跑到10公里的时候经常抽筋,觉得这个事情特别奇怪,的基因数据导到他们的系统里看我的运动相关的基因是什么情况,结果发现有些道理,在的结果里的爆发力还行...如果酒精对你的伤害不大的话无所谓,如果对你的伤害很大的话就应该注意不能够喝酒,特别是肝脏的损害,同时觉得这个可以作为挡酒的理由,如果你喝酒能力差可以这个拿出来,基因说明了这一点,可以作为挡酒的借口。

    72750

    什么是RESTful Web Service?

    世界上的概念都是相对的,有了丑才有美,有了才有。 同样当仅仅只有restful的时候,便很少有人真正了解restful的意思。...RPC-style RPC是个大家都很熟悉的东西,remote procedure call,就是说要调用其他机器上的程序就象调用本机的函数一样。...比如你通过Http发出的Get指令,服务器在收到这个指令后可以做些完全和Get不相关的事情。 Http的灵活性带来了很多好处,但同时也带来了副作用,Web不再restful,变的有点小乱。4....我们应该在客户端记录request上下文,然后每次发给服务器。...所以可以比较简单的完成客户端-服务器的架构。 详细可参见 http://www.ibm.com/developerworks/cn/web/wa-ajaxarch/

    953100

    吐血总结!40道RPA工程师面试题集锦(附答案)持续更新中

    4、在RPA实施过程中您应该记住哪些事情? 定义并关注所需的投资回报率 您应该以自动化重要且影响重大的流程为目标 结合参加和无人参与RPA 5、哪个RPA提供开放的自动化平台?...6、解释RPA的重要特征 RPA的三个最重要的特征是: 无代码 方便使用的 无干扰 7、什么是流行的RPA工具?详细描述每个 主要有三种流行的RPA工具。...成功实施RPA需遵循的六个步骤是: 识别自动化机会 优化确定的流程 建立业务案例 选择您所选择的RPA供应商 RPA模型开发 开始继续构建专家RPA机器人 9、您可以审核RPA流程吗?...10、说明客户端和客户端之间的区别吗? 客户客户端 客户端是需要使用RPA工具(例如计算机,计算器,Internet Explorer)的某些属性功能的应用程序。...他们的边界在哪里

    5.3K11

    JavaWeb(六)之MVC与三层架构设计

    前言   这段时间要学习hadoop,但是也希望自己的web知识复习起来。所以花自己休息的时间这些web的知识好好的巩固一下!没有什么可以阻挡前进的脚步。   ...首先我们先了解一下:       C/S:客户端 / 服务器 (客户端)     B/S:浏览器 / 服务器 (客户端)     JavaBean:就是一个普通类(实体bean),包含三样标准:一个无参构造...M:Model 模型,代表着业务逻辑代码与数据库代码,V:View 对数据的展示代码,比如JSP页面,就是专门用来展示数据,美化页面的 。   ...2.2、分析    JSP + Servlet + JavaBean   MVC:开发模式   M: Model模型 JavaBean|四种作用域   V:view视图 JSP   C:Controller...层       com.xxx.yyy.util      工具包       com.xxx.yyy.domain    javabean 四、总结 经典三层架构和MVC的关系:   他们是两个毫无相关的东西

    1.7K81

    Python机器学习教程—前传:机器学习介绍(1)

    笔者是一名软件工程在读研究生,同样是机器学习的爱好者,希望所总结的内容能以简单直白的方式帮助读者们理解机器学习并了解如何利用Python来做机器学习。...很快带你入门。那么首先作为传统还是要对所讲内容有背景知识介绍,当然这是给新人看的,已经了解的可以自动跳过前传哈!机器学习的概念概念:机器学习是一门能够让变成计算机从数据中学习的计算机科学。...也就是我们已经拿到了一个一个人的身高体积体重(作为自变量x),以及他是算个人还是人(作为因变量y)。...那么通过给计算机输入x,让其输出y可与我们已知的结果进行比较无监督学习:在没有已知输出的情况下,仅仅根据输入信息的相关性,进行类别的划分。...这种类型的学习与上一种类型就区别在已知的数据是没有结果的,比如说给了身高体重让机器自己去人进行分类,机器有可能分为三类比如人、人、中等,也有可能是四类五类。这样的结果也并没有对错之分。

    35910

    想减肥,多睡觉!研究发现缺觉会让胳膊大腿更粗

    研究说了,不分男女,只要睡不够7小时,你就会更。 但!是!睡眠不足导致胳膊更粗这一现象,仅在缺觉的女性中可见。 女性旁友们,在扑腾挣扎着做魔鬼天鹅臂和美丽芭蕾腿之前,要不优先考虑睡个美容觉?...一个不那么坏的消息是,在非肥胖人群中,没观察到这一点的相关性。 研究共对2011-2018年美国国家健康和营养检查调查(NHANES)中9413位参与者的睡眠情况进行了分析。...研究团队觉得,脂肪质量和无脂肪质量区分开,更能准确评估睡眠和肥胖之间的联系。 这主要考虑到脂肪组织存在区域性变异。...为了让胳膊大腿,除了针对性健身,平时不妨也多多关注一下自己的睡眠质量~ 参考文章: [1]https://www.mdpi.com/2072-6643/14/14/2840/htm [2]https...ps.加好友请务必备注您的姓名-公司-职位哦~ 点这里关注,记得标星哦~ 一键三连「分享」、「点赞」和「在看」 科技前沿进展日日相见~

    14810

    广告行业中那些趣事系列6:BERT线上化ALBERT优化原理及项目实践(附github)

    这里看下不同规模参数的BERT模型参数量的变“”之路: 图3 BERT参数爆炸问题 如何做到,让BERT不那么“”,但是效果依旧好是目前学术界的研究重点,也是如何将BERT线上化的重点工作之一。...BERT“”在哪里 想让BERT变,先要知道“肉”长在哪里。BERT使用Transformer作为特征抽取器,这是BERT参数的来源。...图13 模型运行准备工作 第二块就是负责模型运行,主要就是python运行程序的指令以及需要的相关参数配置。...将原项目fork下来,这里增加了两个文件run_classifier_multiclass.sh和run_classifier_multiclass.py。这是用来执行文本分类的任务脚本以及代码。...也有实践,如果需要使用ALBERT做文本分类任务,直接用改造好的脚本和代码跑起来就行。

    33320

    如何用神经网络判断奇偶数?

    人的解决问题,大概就是一个复杂目标化简解决的能力,目的是降低问题的非线性,一个问题去解决的过程。具体到数据挖掘上,应该特征表达出来的能力。...这组数据可能超出了你的认知,只看数据不看照片,一下子不好说他是还是。(其实挺的哈哈) 嗯,这个你看到那组数据,不好一下子说出来的感觉,就是机器学习里面非常关键的概念,“非线性”。...或者数据转化成二进制sequence输入,模型就根据最后一位的0和1,直接得到结果了。 本质上这两种方法都是用人的先验知识,数据经过变化,处理成模型更易于理解的形式。...第二,升级模型 特征工程总有种case by case的感觉,处理特定的问题很好,如果模型想泛化起来,就不是有多少人工就有多少智能,这么简单了。...升级模型线性的逻辑回归加上kernel来增加非线性的能力。

    73720
    领券