首页 文章

稍后添加API时重构Web App代码

提问于
浏览
1

我有一个Web应用程序,我们现在正在添加一个API .

我在寻找最佳实践时要记住这一点 .

我正在考虑这些因素:

  • DRY:避免冗余(尽可能) . 例如,处理表单提交的代码的一部分 . 有些部分仅适用于Web表单提交,但与等效的API Post调用无关 . 我正在考虑模块化这个Post处理程序背后的常用代码 . 我必须补充一点,Web Form和API的处理程序类是不同的 . 我正在创建一个具有常用方法的第三类 . 第三个类将由两个处理程序类(以及它们的其他基类,多继承)继承 .

  • 我应该重构代码,以便Web窗体'Post'处理程序方法依次调用API Post方法吗?

谢谢 .

1 回答

  • 0

    我认为具体情况会因具体情况而有所不同,但最近我做了类似的事情,我将分享我的想法 .

    这就是我组织处理程序的方式所以我不重复自己:

    class MyHandler(webapp2.RequestHandler)
        class ApiHandler(MyHandler):
            class Ajax(ApiHandler): # Ajax calls on my website
            class V0(ApiHandler): # V0 of my REST API for third parties
        class WebHandler(MyHandler):
            class HomePage(WebHandler):
            class OtherPage(WebHandler):
    

    我添加了许多子类可以使用的实用程序方法 . 例如, MyHandler 具有 write_json 方法,因为它在很多地方使用,而 ApiHandler 具有 process_json 方法,因为它仅由API使用 .

    我认为通过让一个post方法调用另一个post方法来避免重复自己是一个坏主意 . 相反,我认为这将使您的代码更清晰,可以在模型级别进行重构 .

相关问题