2011-08-08 42 views
0

我有一個加載模塊的應用程序。這些模塊可以由第三方開發。爲了讓他們更容易,我想開發一個API,以便他們知道他們可以調用和使用哪些函數。Flex:使用來自模塊的parentApplication功能,但使用某種類型的API

所以我知道這一個模塊內的工作,但你必須知道有在parentApplication一個變種「支出」:

// Access properties of the parent application. 
private function getDataFromParent():void { 
    expenses = parentApplication.expenses; 
} 

但我寧願是這樣的:

private function getDataFromParent():void { 
    var myParent : MyAPI = new MyAPI(); 
    expenses = myParent.getExpenses(); 
} 

所以,如果它會這樣工作,當你開始編碼並鍵入「myParent」。 Flex會提示代碼提示的所有可能的函數和變量。

任何想法如何開始呢?

非常感謝,

弗蘭克

回答

1

我會做一個接口,爲「父」,一個是「模塊」。這讓你以相同的方式處理所有的模塊,並且使各個模塊開發人員很容易知道「父」提供的內容。

public class IModule { 
    // when initialize() is called it will be up to the module's developer to 
    // retain a reference to the parent and use that for later calls 
    function initialize(parent:IParent):void; 
    function doStuff():Boolean; 
} 

public class IParent { 
    function getInfo():String; 
    function foo(value:int):int; 
} 
1

定義類MyAPI和封裝父稱

package com.myAPI 
{ 

    public class MyAPI 
    { 
     public function MyAPI() 
     { 
     } 

     public function expenses():expenseType{ 
       parentApplication.expenses; 
     } 
    } 
} 

當然這也取決於你的模塊的開發人員編譯這個類到他們的模塊。

相關問題