请查看我previous question的答案和评论,以便更好地了解我的情况。如果我在AppEngine上使用Google DataStore,我的应用程序将紧密耦合,因此可移植性较差。
我正在使用Android,并将使用将驻留在云端的后端。我需要客户端 - 云通信。如何构建维护可移植性的应用程序。我应该使用哪些设计模式,架构模式?
我应该使用经纪人模式吗?我很困惑。
答案 0 :(得分:0)
Google AppEngine为其数据存储区提供基于JPA的界面。只要您使用JPA API编写代码,就可以轻松地将其移植到其他数据存储区(例如Hibernate也可以实现JPA)。
我会确保特定于供应商的代码不会超出位于供应商API之上的薄层。这将确保当我不得不转移到其他供应商时,我确切地知道哪部分代码会受到影响。
答案 1 :(得分:0)
你真的想避免使用谷歌云sql的可移植性问题。如果你使用数据存储区,除非它是一个微不足道的结构,如果你使用纯jpa / jdo,你将无法轻易地移植它,因为那些真的不适合nosql。谷歌特别指出了索引等。 当然sql更昂贵且有大小限制
答案 2 :(得分:0)
为了保持我的应用程序的可移植性,我选择了Restlet,它通过端点提供Restful web apis。 Restlet将帮助我在服务器和客户端之间进行通信。
此外,它不会将我的应用程序锁定到特定供应商。