將所有可配置參數移至XML定義。
爲每個定製創建多個XML文檔。
在代碼中,爲可配置參數建立默認值,然後將XML文檔的XML和引用值作爲覆蓋加載到這些默認值。
對於生產版本,如果加載外部資源是部署的問題,則可以將XML嵌入到程序集中。
通過加載不同的配置XML文檔,您可以在運行時更改定義,並且通過使用動態配置模型,您可以草擬主題編輯器以實時查看更改。
ConfigurationModel.as
package
{
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class ConfigurationModel
{
/** ======== configuration ======== */
public static var color:uint = 0xff00ff;
public static var fontName:String = "Arial";
/** ======== serialization ======== */
public static function loadConfiguration(url:String):void
{
var loader:URLLoader = new URLLoader(new URLRequest(url));
loader.addEventListener(Event.COMPLETE, completeHandler);
}
protected static function completeHandler(event:Event):void
{
var xml:XML = new XML(event.target.data);
if (xml.color)
color = xml.color;
if (xml.fontName)
fontName = xml.fontName;
}
}
}
實施例的配置:AcmeClientConfiguration.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<color>0xff0000</color>
<fontName>Calibri</fontName>
</configuration>