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

当我的javascript和C代码库重叠时,我如何减少维护?

  •  1
  • PeterAllenWebb  · 技术社区  · 16 年前

    我有一个库,其中包含一些从C和JavaScript中使用的对象。有几个对象,我们称其中一个为foo,在c和javascript中有相同的基本实现。当我想将这种类型的对象从服务器传输到浏览器时,我只需调用foo.to json()将这个对象序列化为json,然后使用安全的eval()操作恢复浏览器端的对象。

    这一切都很好,但是库变得越来越复杂,保持JavaScript和C代码库同步的需求越来越困难,也越来越容易出错。我对简化这个架构或使其易于维护的想法很感兴趣。思想?

    4 回复  |  直到 16 年前
        1
  •  3
  •   Joel Martinez    16 年前

    你可以看一下使用脚本: http://projects.nikhilk.net/ScriptSharp

    因为您的类都是用C编码的,所以您可以为服务器和客户机项目重用相同的.cs文件。这样,当您进行更改时,它会自动编译为javascript:-)

        2
  •  2
  •   Robert Greiner    16 年前

    您是否考虑将“共享代码”制作成Web服务,这样您的任何应用程序都可以访问它,并且您可以将所有内容分发以帮助提高性能。

    只有一个解决方案。

    http://en.wikipedia.org/wiki/Web_services

        3
  •  1
  •   Nosredna    16 年前
    1. 使应用程序的各个部分尽可能与数据驱动部分重叠。在一定的大小下,在两边运行状态机解释器来解析相同的数据更容易。
    2. 写一次代码。有几个c到javascript编译器,您可以查看。 Script# jsc .
        4
  •  1
  •   Jonathan    16 年前

    使用DTOs。数据传输对象。

    这样,如果JScript或C对象发生更改,则DTO不必更改,除非客户机立即需要该属性。即使这样,对于要序列化的内容和不打算序列化的内容,您也有一个清晰的分离。

    Dave Ward at Encosia speaks a lot about this .