Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >路由困境--最好的架构方法是什么?

路由困境--最好的架构方法是什么?
EN

Stack Overflow用户
提问于 2021-10-18 10:49:20
回答 2查看 74关注 0票数 0

我有一个两难的问题要解决。从最佳架构实践和可维护性的角度来看,您认为最好的方法是什么?我们有模块A和模块B。模块B具有在应用程序中被重用的表单组件,特别是模块A。模块A必须路由到模块B的表单。由于太长的原因无法解释,相对路由不起作用。因此,当您取消或保存表单时,它会将您带到父B。这适用于用户从B路由的情况,而不是从A路由的情况。我们希望用户返回到他们以前所在的页面。

解决方案1:将表单组件分解成一个单独的模块C。因为它是一个可重用的组件,所以它应该有自己的模块。A路线到C,B路线到C,相对路线会带他们回来。缺点:大量代码更改。

解决方案2:在查询参数中传递父对象的变量。表单将读取查询参数,并在保存或取消后知道路由到哪里,不必担心相关路由。例如:www.example.com/products/product-id-1?redirectRoute=products-page

缺点:有许多要添加查询参数的链接,因此也有相当多的代码更改。我们不能在查询参数中使用正斜杠,所以我们必须使用一个变量。此外,我们现在只有A和B使用表单,但是如果将来我们有模块D和F,我们将需要为这个变量创建枚举。

解决方案3:尝试修复现有的相对路由。这可能是不可能的。

EN

回答 2

Stack Overflow用户

发布于 2021-10-18 11:32:46

是否需要创建相对路由?您不能在A中使用/path/to/moduleB?

当我构建我的路线时,我总是考虑这些路线之间的关系。因此,如果模块A中的表单和模块B中的表单以某种方式相关,那么可能会有另一个表单,您将如何处理它?我会使用这个模块C,它包含这些表单的域逻辑,并可能创建一个负责管理表单状态的状态/服务。为了单一责任原则,我会走那条路。

编辑:我认为你的导航功能可能有误。如果你想相对导航,你应该考虑像这样的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
constructor(private route: ActivatedRoute, private router: Router)
...
navigateBack() {    
   this.router.navigate(['../../form'], {relativeTo: this.route})
}
票数 0
EN

Stack Overflow用户

发布于 2021-10-18 13:15:12

使用state是最好的解决方案,也是您可以用来管理表单及其相应组件的所有路由的最佳解决方案。通过这些操作,您可以传递下一个路由或前一个路由,并在该状态中路由您的应用程序。

此外,您应该考虑将表单放在一个共享模块中,这样可以使您的代码更整洁,更易于其他开发人员阅读、理解和构建

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69621089

复制
相关文章
程序员最好的工作是什么?
疑惑一 如何培养好的代码风格? 多看好项目的代码,提高自己的代码品味。品味一提高,很多东西忍不了,风格就自然上去了。当然了,别看出洁癖来就好。严于律己,宽于待人。比如一些好的开源代码是我们提高的最好途径。webkit 、chromium 还有一些文档行的google编程规范,webkit编程规范。 疑惑二 程序员工作内容太杂怎么办?如何提升自己? 1、横向发展寻求突破,这个需要你利用自己的空闲时间,可以是下班的时间,也可以是工作中的零碎空闲时间,进行充电,找自己感兴趣的方向,进行必要的学习,同时你要学会分享
程序员互动联盟
2018/03/16
8900
C++最好的图形库是什么?
世界上的GUI库多如牛毛,有的开源,有的收费,有的可以做手机app开发,有的可以做桌面应用,有的只能用在某个系统,有的支持跨平台。基于不同的编程语言,人们又开发出不同的图形框架,比如Java有AWT、Swing;C#有WinForm和WPF;C++有MFC、QT、wxWidgets等。在C++的库中,QT凭借对跨平台的支持、简单易用、开发效率高等特性,成为最受欢迎的GUI库之一。
Coding十日谈
2020/08/18
3.9K0
C++最好的图形库是什么?
借着WPS的"困境"讲讲三种维度的架构
我相信,这个辟谣的可信度还是可以的,应该还是合规性问题,而不是随意删除文件,如果是随意删除文件,那就涉及到破坏用户数据了,这个,破坏计算机系统罪不知道适用不适用啊;)
扶墙老师
2022/09/23
5820
借着WPS的"困境"讲讲三种维度的架构
跳出“误区”,学着如何打造“最好的架构”。
“架构”是我们这行业种一个很常见的词,表明其必然也是经历了很长的岁月打磨所形成的一个词。架构的这个词出现的意义是什么?为了解决什么问题?只有把这2个问题想明白了,才能设计出一个良好的项目架构。
Java架构技术
2019/02/15
3330
NSX高级路由架构
内容来源:2018 年 10 月 24 日,VMware高级讲师寇雪旭在“VMware技术专题分享”进行《NSX高级路由架构》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。
IT大咖说
2018/12/05
1.8K0
论latex插入图片最好的方法!
在写过几篇论文后总结出来的一些写论文新手都会遇到的插入图片问题的最高效的解决方法,这是本人在摸索了很多次以后总结出来的方法希望后人可以少走些弯路。毕竟这种小问题读研的时候老师师兄师姐都不会告诉你的都是要靠你自己去解决的。
全栈程序员站长
2022/09/05
1.3K0
架构的本质是什么?
最近总是有小伙伴问我,如何成长为一名优秀的架构师,我也不知道该如何去回答,但是我想聊一下架构的本质。
35岁程序员那些事
2023/10/19
1770
架构的本质是什么?
静态路由汇总的方法
无类域间路由CIDR(Classless Inter Domain Routing)由RFC1817定义。CIDR突破了传统IP地址的分类边界,将路由表中的若干条路由汇聚为一条路由,减少了路由表的规模,提高了路由器的可扩展性。 如上图所示,一个企业分配到了一段A类网络地址,10.24.0.0/22。该企业准备把这些A类网络分配给各个用户群,目前已经分配了四个网段给用户。如果没有实施CIDR技术,企业路由器的路由表中会有四条下连网段的路由条目,并且会把它通告给其他路由器。通过实施CIDR技术,我们可以在企业的路由器上把这四条路由10.24.0.0/24,10.24.1.0/24,10.24.2.0/24,10.24.3.0/24汇聚成一条路由10.24.0.0/22。这样,企业路由器只需通告10.24.0.0/22这一条路由,大大减小了路由表的规模。
宝耶需努力
2022/12/13
8000
CCNP 路由中的帧中继是什么?
帧中继(Frame Relay)是一种在广域网中常用的数据链路层协议,它允许在物理链路上建立虚拟电路。在Cisco Certified Network Professional (CCNP) 路由认证中,帧中继是一个重要的主题,因为它涉及到在复杂的网络环境中传输数据的关键技术。
网络技术联盟站
2023/09/06
3870
CCNP 路由中的帧中继是什么?
你所写过的最好的Python脚本是什么?
这是网友在 Quora 上提的同名问答帖,本文摘编了排名前两名的答案。得到最多赞的用户介绍了他写的在Facebook上面感谢好友的脚本。排名第二的答案介绍了他写的点击一次自动字幕下载的脚本、IMDb信息查找脚本、theoatmeal.com网站漫画下载脚本和someecards.com下载脚本。该用户也因为这些脚本而得到了一份工作。 Akshit Khurana的答案,3.4k个赞同 使用脚本在Facebook上感谢五百多个在我生日那天给我祝福的朋友: 那是我21岁的生日,在那天发生了三件使得那天值得纪念的
小小科
2018/05/04
1.5K0
你所写过的最好的Python脚本是什么?
囚徒困境
话说很久以前,一个普通家庭的两兄弟,从小天资聪颖,智商超群,顺利考上了985,成为了人们口中的“别人家的孩子”。 大学生活简直狂拽酷炫吊炸天,某个机遇接触到了“PUA”,从此一发不可收拾,“推拉”,“kino”,“dhv”各种技巧炉火纯青。《高数》、《线代》、《概率论》再也不香了。 毕业了自然没有找到好工作,要是关注了我的公众号,何至于此啊,年青人“耗子尾汁”。 无奈之际这两兄弟开始凭借自己的智商,盗窃金库,从此live happily ever after(永远幸福的生活下去)。
小K算法
2021/05/31
7130
当前的困境
本文算是一个自我反省,主要是感觉最近进步有限,很多时候都原地踏步,都是工作在推着自己走,而不是沿着自己的方向去走。也就是个人开始丧失方向,外界环境开始主导个人。
方丈的寺院
2019/08/05
3950
程序员的困境及如何摆脱这种困境?
近日笔者采访了几十位求职内核程序员这个岗位的候选人。这些候选人均来自大的优秀公司——公司多以芯片或嵌入式OS /系统而闻名。他们中的许多人都声称自己拥有至少10年的内核在职经验。他们的简历非常耀眼——
编程范 源代码公司
2018/04/16
7630
程序员的困境及如何摆脱这种困境?
综合搜索的困境
前几天看了品玩上一篇关于阿里旗下神马搜索新发布的蓝光模式的分析文章,所谓蓝光模式主要有3大特征: 1、高颜值,交互App化。即搜索某个query如“nba",搜索结果不再是单调的文本链接形式,实际结果页面会很炫,同时会运用各种技术提取出各种有用的信息如赛程、即时比分等信息,看起来像是一个本地App的NBA专题页面。 本质上是搜索结果展现形式的变化,这是目前各搜索厂商的共识。百度的框计算、360好搜的onebox,以及各种形式的富摘要结果都是这种思路,实际效果相当不错。 2、搜索结果的个性化。神马搜索号称
BestSDK
2018/02/27
9650
vue中的路由编写方法
方法一:在router/indexs.js文件下配置路由 import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ mode: 'history',// 使用 HTML5 的 History 路由模式,通过‘/’设置路径 routes: [ { path: '/', name: 'index', component:
李维亮
2021/07/08
5930
如何使容器成为架构师最好的朋友
数字转型正在从根本上改变全球组织的经营方式。通过DevOps实践,IT团队正在帮助降低成本,提高敏捷性,并创建一个创新驱动增长的新时代。但是是什么驱动着DevOps呢?越来越多地看到,答案是容器:许多人认为这是云计算的重大发展,为开发者提供了最需要的可伸缩性和灵活性。然而,对于负责维护IT基础设施的企业架构师来说,容器的“梦想”可能很快就会变成噩梦。
CNCF
2019/12/04
6970
业务侧最好的朋友:微服务中的 BFF 架构
在我们之前设计的一个供应链系统中,它包含了商品、销售订单、加盟商、门店运营、门店工单等服务,涉及了各种用户角色,比如总部商品管理、总部门店管理、加盟商员工、门店人员等,而且每个部门的角色还会进行细分。而且这个系统中还包含了两个客户端 App:一个面向客户,另一个面向公司员工和加盟商。
码猿技术专栏
2023/08/10
3230
业务侧最好的朋友:微服务中的 BFF 架构
gin路由相关方法
GET, POST, PUT, PATCH, HEAD, OPTIONS, DELETE, CONNECT, TRACE
fliter
2023/10/08
3450
gin路由相关方法
前端架构是什么?
前端架构是指在前端开发中,设计和组织应用程序的基本结构和组件之间的关系的方法和原则。它涉及到如何组织代码、管理数据、处理业务逻辑以及实现用户界面等方面。
肥晨
2023/06/27
8790
当前效果最好的cnn网络架构-denseNet--架构图及代码
架构图:下面图片如果不清晰可以访问 https://github.com/tdeboissiere/DeepLearningImplementations/tree/master/DenseNet 即上面的第一个keras实现。
CreateAMind
2018/07/25
9770
当前效果最好的cnn网络架构-denseNet--架构图及代码

相似问题

设计困境。最好的设计是什么?

21

建筑设计困境。最好的设计是什么?

11

flex中最好的视图架构是什么?

13

iPhone应用最好的技术架构是什么?

30

最好的SAP ERP基础架构是什么?

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文