代码之家  ›  专栏  ›  技术社区  ›  Keeper

远程课程组织

  •  0
  • Keeper  · 技术社区  · 14 年前

    例如(半伪码):

    class Database { ... }
    class Utility
    {
      public User getUser(username)
      {
         return new User(username);
      }
    }
    class User
    {
      public string[] getPerms()
      {
        return Database.query("select * from permission where user = " + this.username);
      }
    }
    

    顾客

    Utility utility = (Utility)getRemotingClass("Utility");
    User user = Utility.getUser("admin");
    string[] perms = user.getPerms();
    

    如何组织我的类/名称空间?我特别想知道我的系统的类引用和可伸缩性。

    2 回复  |  直到 14 年前
        1
  •  0
  •   Spence    14 年前

    我不是想敲锣打鼓,但你可能想看看WCF。远程处理非常健谈,通过.Net维护干净接口的真正支持是通过WCF和消息传递来实现的,而不是通过远程处理来实现完全的对象状态管理。

    听起来您正在开发一个中间层来管理数据库连接。只需确保最后不会重新开发到SQLServer的接口。

        2
  •  0
  •   Dr Herbie    14 年前

    我倾向于将所有的“共享”(数据传输对象)类放在一个单独的DLL中,服务器和客户机都引用这个DLL(如果要用客户机代码分发它们,可以将它们放在与服务器类相同的DLL中)。

    通过将它们放在一个单独的程序集中,您可以加强dto的解耦以及用于远程传输它们的底层技术。 这意味着,如果最终重写了远程调用技术,就不必接触dto,只需重新使用程序集即可。

    赫比