请教,gin 的路由这样写有什么优劣?

qufo · · 1457 次点击
另外就是你的例子里路由最大的优势,自注释性体现的不明显。 我找点我大概的代码看一下,你就会发现,哪怕我把注释全去了,你也能够在一个文件里大概的了解到这个uri大概做了什么,有那些控制动作。 第二种方式需要看继承树,虽然功能强大,调整简单,但不够直观 ```go var PublishMiddlewares = func() middleware.Middlewares { return middleware.Middlewares{ protecters.ProtectMiddleware("appkey"), middlewares.PublishExists(), au.New().WithAny( au.MustParse("root"), au.MustParse("publishall"), au.MustParseWith( "publish:id={{0}}", httpinfomanager.MustGetStringField("filename").LoadStringInfo, ), ).ServeMiddleware, } } var RouterFactory = router.NewFactory(func() router.Router { var Router = httprouter.New() Router.StripPrefix("/publish"). Use(PublishMiddlewares()...). Handle(RouterPublishFactory.CreateRouter()) } var RouterPublishFactory = router.NewFactory(func() router.Router { var Router = httprouter.New() Router.POST("/:path"). Handle(httppublish.CreatePublishHandler(notificationpublisher.Publisher, notificationbuilder.Builder)) return Router }) ```
#5
更多评论
简单的才是最好的,下面的那种很明显就是面向对象后遗症,不过也没有什么优劣之分,纯粹看公司领导或者项目要求,通常是上面那种,毕竟函数可以分版本
#1
面对对象没啥不好, 事实上数据载体和业务代码分离不是什么坏事.如果面对对象那么差,go的下一个重大特性就不是泛型的实现了.
#2