python – Django开发是否提供了真正灵活的3层架构?
几个星期前,我问了一个问题“
PHP,Python,PostgreSQL设计是否适用于非Web业务应用程序?”
Is a PHP,Python,PostgreSQL design suitable for a business application?
许多答案建议跳过PHP片段并使用Django构建应用程序.当我探索Django时,我开始质疑我的目标的一个特定方面以及Django如何为非Web业务应用程序发挥作用. 根据我的理解,Django将管理视图和控制器部分,PostgreSQL或MySQL将处理数据.但我的目标是明确地分离各个层,以便可以更改数据库,域逻辑和表示,而不会显着影响其他层.看起来我只是用Django解决方案将M与VC层分开. 那么,使用SQL Alchemy / Elixir ORM工具,PostgreSQL用于数据库层,然后仍然使用Django或PHP作为表示层,在Python中构建域层是否适得其反?这是可能的还是纯粹的疯狂? 基本上,我将关注Django / PHP的架构> Python / SQLAlchemy> PostgreSQL的/ MySQL的. 编辑:在粉丝们因为询问关于Django的问题而生我的生气之前,我们才意识到:这是一个问题,而不是一个指责.如果我知道答案或有自己的看法,我就不会问! 解决方法
您似乎在说选择Django会阻止您以后使用更异构的解决方案.事实并非如此. Django在各层之间提供了许多有趣的连接,并且对所有层使用Django可以让您利用这些连接.例如,使用Django ORM意味着您几乎可以免费获得优秀的Django管理应用程序.
您可以选择在Django中使用不同的ORM,您只是不会获得管理应用程序(或通用视图).因此,一个不同的ORM会让你从完全Django自上而下退一步,但它并不是从其他异构解决方案向后退一步,因为这些解决方案首先没有为管理员应用提供内层优势. 不应该因为没有提供灵活的架构而批评Django:它与任何其他解决方案一样灵活,如果你选择换出一层,你就放弃了一些Django的好处. 如果你选择从Django开始,你现在可以使用Django ORM,然后,如果你需要切换,你可以转换到SQLalchemy.现在开始使用SQLalchemy并稍后转向其他ORM解决方案并不困难. 你还没有说过为什么你预计需要换掉图层.无论如何,这将是一个痛苦的过程,因为必然会有很多代码依赖于您当前使用的任何工具集和库的行为. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |