V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
avatasia
V2EX  ›  问与答

咨询下链式操作,如果从代码上保证链式操作的顺序

  •  
  •   avatasia · 2012-02-29 14:33:31 +08:00 · 3285 次点击
    这是一个创建于 4650 天前的主题,其中的信息可能已经有所发展或是发生改变。
    思路1: 每个操作的Object都创建一个独一无二的类,这样保证绝对的安全性,但是代码量增加了。
    8 条回复    1970-01-01 08:00:00 +08:00
    lisztli
        1
    lisztli  
       2012-02-29 14:45:27 +08:00
    学python搞个gil?
    aligo
        2
    aligo  
       2012-02-29 15:04:21 +08:00
    像jquery那样的Proxy模式
    avatasia
        3
    avatasia  
    OP
       2012-02-29 15:35:14 +08:00
    @lisztli GIL是多线程同步机制吧, 我说的应该是在编译器就解决这个问题,运行期也可以。类似于
    step1(),step2()。 如果先运行step2(),可能有一个全局的运行顺序变量,判断是否等于2,不等于就抛出异常。
    wtl
        4
    wtl  
       2012-02-29 15:57:54 +08:00
    状态机不正好么?
    avatasia
        5
    avatasia  
    OP
       2012-02-29 16:09:13 +08:00
    @wtl 本来不用链式操作,应该是这个思路。
    sohoer
        6
    sohoer  
       2012-02-29 16:16:55 +08:00
    JAVA里的过滤器就是链,也是一种设计模式,
    avatasia
        7
    avatasia  
    OP
       2012-02-29 20:37:19 +08:00
    @sohoer java 过滤器的思路应该是这样的, work.add(step1()).add(step2());
    while(sork.getNext()) work.do();

    但我期望的是,work.step1().step2().
    如果理解有误,请指正。
    avatasia
        8
    avatasia  
    OP
       2012-02-29 20:38:18 +08:00
    @aligo 到现在我还是没懂jquery的proxy,不过有点那么明白的意思。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2903 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:12 · PVG 19:12 · LAX 03:12 · JFK 06:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.