企業應用開發架構談(一) (轉)
企業應用開發架構談(一)
即便是在有了企業級平臺的今天,我也常常發覺開發企業級應
用是個難題。無論是還是僅僅使用他們所提供的高階
抽象來開發企業級應用是遠遠不夠的。在我看來一個構建在這些
高階API上的良好的體系結構是開發成功的企業級應用所不可或缺的。
本文要談論的就是如何構建一個良好的、可維護的、可擴充套件、高穩
定性的且能夠開發應用的開發架構。
在我接觸.NET 或J2EE 開發過程中,走了大量的彎路,使得開發的程
序不是不好,就是無法滿足目標和要求,相信同樣的錯誤今天仍
然在不斷的重複出現,這就要求我們吸取教訓,減少創造無用的程式。
儘管有了高階的抽象API,但構架不光是使用API那麼簡單,從更高層
的抽象來說,透過使用構件策略和來建立構架體系,是解決開發中遇
到的一系列問題的關鍵。
如:
會話如何跟蹤?
誰來負責資料檢驗?
層鍵的資料如何傳送?
檢視、模型、控制?
如何分發檢視?
等等。。。。。。。。。。。。
在這篇文章中我不採用例項的方式來講解。因為我發現,儘管透過實
例有很多的優點,但往往讀者無法堅持完成整個例子,同時限於本文
的篇幅,採用例項法也是不可取得。
我將在文章中討論在開發企業架構中我所遇到的一系列問題:
檢視--模型--實體
資源定位
資源的可
持久化
出版---訂閱
資料校驗
主鍵生成
資料
資料傳送
動態賦值
控制-分發
介面
在談到我將要討論的問題前,我希望你先要了解什麼是模式,我不打算在
有限的篇幅中討論模式,這是一個很廣的問題。但必須首先宣告的得是,
你閱讀本文對模式的瞭解是基本要求,企業開發中模式將被大量使用,我
相信一個優雅,成功的系統模式的使用是不可少的。
關於模式的更多資訊你可以參考 GOF 96 、SUN J2EE DESIGN PATTERNS
CORE、J2EE DESIGN PATTERNS 等文章。
第一部分 資源定位
一個有序的世界總是好的。
小時候玩玻璃球和三角,開始的時候總是將嬴來玻璃球放到一個盒子中,漸漸
的越來越多,於是我將他們分類,有瑕疵的放到一起,普通的放到一起,高階
的(可以一個換兩到三個)放到一起,同樣的三角也是如此存放,這樣一來我
能夠很容易的決定每次帶什麼樣的出去玩。
開發架構的時候我碰到同樣的問題,譬如大量的值物件、命令bean、檢視helper
散落在各處,有序的管理他們勢必成為優先要解決的問題。試想如果有一種目錄
結構來管理這些類該有多好。
我是一個工廠的狂熱愛好者,我總是透過工廠來管理這些無序的資源,以便於通
過目錄的方式定位資源,不可避免的造成了系統中出現越來越多的工廠,我把管
理這些工廠稱為工廠定位器模式。
為了清晰的描述我的想法,我喜歡透過程式碼來說明,這用的問題簡單明瞭。
程式碼如下:
/*工廠定位器*/
public interface FactoryFinder{
public final static int ACTION_MAP_FACTORY=1;
public final static int MESSAGE_RES_FACTORY=2;
public final static int VALUE__FACTORY=3;
public final static int FORWARD_MAPPING_FACTORY=4;
public final static int LIFE_CYCLE_FACTORY=5;
public static Factory getFactory(int finderName);
}
/*工廠標誌介面*/
public interface Factory {
}
/*生命週期管理器*/
public interface LifecycleFactory{
public final static int DEFAULT_LIFE_CYCLE=1;
public Lifecycle getLifecycle(String Key);
}
/*訊息註冊工廠*/
public interface MessageResourceactory extends Factory{
public addMsgResource(String Key ,String resourceName);
}
/*
/*器註冊工廠*/
public interface ActionMappingFactory extends Factory{
public addActionMapping(String Key,String resourceName);
}
/*值物件註冊工廠*/
public interface BeanMappingFactory extends Factory{
public adeanMapping(String Key,String resourceName);
}
/*分發檢視註冊工廠*/
public interface FowardMappingFactory extends Factory{
public addForwardMapping(String Key,String resourceName);
}
/*監聽器工廠*/
public interface ListenerFactory extends Factory{
public final static int ACTION_LISTENER=1;
public final static int VALUE_CHANGED_LISTENER=2;
public final static int HERPLINK_LISTENER=3;
public Listener createListener(String listenerName,int type);
}
/*bean 工廠*/
public interface BeanFactory extends Factory{
public Object createBean(String beanName);
}
/*Lifecycle 工廠*/
public interface Lifecycle extends Factory{
public void register();
}
如你所看到那樣工廠定位器模式其實就是一個工廠模式,但我重新將它命名
為工廠定位器模式,這是因為,它不簡簡單單作為一個設計模式而存在,在
這裡它被賦予新的含義“有效管理架構中資源的一種策略“。透過它的有效組
織資源,你可以方便的定位架構中任何可用資源。
同樣的定位方式,我們可以用來組織服務定位,譬如:查詢,資料連線等。
服務定位器模式就是定位的另一個應用:
程式碼如下:
/*
實現主鍵獲取、資料連線獲取、home介面獲取
*/
public interface ServiceLocator{
public static ServiceLocator getInstance();
public EJBHome getEJBHome(String serverID,String homeName);
public Connection getConnection();
public BigDecimal getNextID(String systemCode);
}
透過服務定位 ,可以有效的減少服務成本,提高系統的效能。
正如上面所說的,在一個體系中定位資源是重要,這是組織整個架構的基礎,
無論什麼樣的事件都是由個體組成,而有序的安排個體總是有序世界的第一
步。
在這一部分裡,簡要的談了資源定位問題,下一部分將討論資源的可配置問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-956298/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [轉]企業應用開發架構談(一)架構
- 企業應用開發架構談(二) (轉)架構
- 企業應用開發架構談(三) (轉)架構
- 企業應用架構研究系列十九:Docker開發環境應用架構Docker開發環境
- 企業應用平臺架構架構
- 用Servlet開發企業級三層Web應用(一) (轉)ServletWeb
- LAMMP架構的企業級應用架構
- iOS應用架構談(1):開篇iOS應用架構
- SOA重塑證券企業應用架構應用架構
- 第五天-《企業應用架構模式》-併發應用架構模式
- iOS應用架構談(一):架構設計的方法論iOS應用架構
- 總結 - 設計模式,企業應用架構模式,架構模式設計模式應用架構
- 企業應用架構研究系列三:應用系統整合應用架構
- 快速構建企業級應用的開發平臺
- 低程式碼開發:企業應用構建新模式模式
- 企業應用開發和開放原始碼專案 (轉)原始碼
- MicrosoftNet企業級應用架構設計(中)ROS應用架構
- 企業內應用區域網傳輸架構架構
- 《企業級ios應用開發實戰》一第1章企業應用的話題iOS
- Android應用開發架構概述Android架構
- 統一PaaS架構支撐IT應用開發敏捷化架構敏捷
- iOS應用架構談:架構設計的方法論iOS應用架構
- 談談關於 iOS 的架構以及應用iOS架構
- 淺談企業開發APP應用常見的型別有哪些APP型別
- 企業應用架構的基本模式之分離介面應用架構模式
- 企業應用架構的基本模式之入口模式應用架構模式
- 漫談企業資訊化安全 - 零信任架構架構
- 關於 Serverless 應用架構對企業價值的一些思考Server應用架構
- Oracle開發:構建強大企業級應用的關鍵Oracle
- .NET應用架構設計—重新認識分層架構(現代企業級應用分層架構核心設計要素)應用架構
- 企業架構 - 企業架構成熟度模型(EAMM)架構模型
- TOGAF企業架構與軟體架構的對應圖架構
- Java的企業應用開發死期已到Java
- Java EE 6之企業應用開發Java
- 使用 Angular 打造微前端架構的 ToB 企業級應用Angular前端架構
- 大型直播平臺應用架構淺談應用架構
- 理解企業應用框架 (轉)框架
- 百萬年薪架構師之路:談應用系統架構設計架構