【发布时间】:2012-10-18 22:25:33
【问题描述】:
我已经在网上搜索过这个问题。并且已经有一个具有相同标题的帖子,但并未真正描述实际问题。所以我还没有找到合适的解决方案。
我正在开发非常大的项目。因此,绝对有必要将其拆分为多个层或组件或您想要调用的任何内容。
每一层都公开了一些功能。对于每一层来说,如何实现并不重要(因为这在大型项目中经常发生变化),但重要的是我们如何调用功能以及它返回给我们的内容 => 合同!
如果我们有两层,一层与 TransactionService 相关,另一层与 BankService 相关,则 BankService 比 TransactionService 更高一层,将使用 transactionservice。 transactionService 只会做一个事务:
TransactionVO doTransaction(clientFromVO, clientToVO);
还有一个做其他事情的层.. TransactionVO 不是模型类!它们是值对象,因此服务的实现不会暴露在层之外。 在java中,我们可以通过以下方式实现:
public interface TransactionService {
TransactionVO doTransaction(clientFromVO, clientToVO);
}
实现如下:
public class TransactionServiceImpl {
public TransactionVO doTransaction(clientFromVO, clientToVO) {
// implementation
}
}
因为我们预先定义了我们的接口,所以我们有一个合同来说明每个服务的外观(没有实际的实现,TransactionServiceImpl 还不需要存在)。
因此,2 个团队可以在每一层上同时工作,并且他们可以模拟实施。 我想知道如何在 Django 中实现这一点!为每一层创建一个 REST api 并没有完成(开销很大,性能问题..)那么对于那些有大型项目经验的人来说呢?
【问题讨论】:
标签: python django api interface