C++箴言:考慮支持不抛異常的swap

很多企業在發展過程中,都有過幾套治理軟件共用的經曆,往往造成在企業內部形成信息孤島,無法統一治理的窘境

中冀集團自幾年前開始信息化嘗試之後,一共使用了4套系統,對梳理企業治理流程功勞不小,本來不必再使用集成化企業治理軟件,但幾套系統各自爲政造成了集團內部的信息孤島,在以客戶爲導向的企業目標驅使下,把散落的珠子用線穿起來,是當務之急。

創建于1997年的中冀集團從基本的整車銷售開始,發展到今天,十幾家地方分公司遍布大江南北。“業務發展到今天,不上ERP軟件是不行的,要害是選型。”總經理韓曉對《IT時代周刊》說。中冀的信息化啓蒙較早。早在2001年,由于汽車金融業務的需要,用友軟件成爲進入集團的第一位使者。隨後,清華懷遠的軟件粉墨登場,解決了其汽配維修治理上的很多問題。後來他們自力更生,自主研發了一套汽車消費貸款系統。到了2003年,加上河北大學爲其研發的辦公軟件,共有4套系統在集團裏並行,但是這些系統都不具整合功能,因此各自爲政,信息孤島的隱患逐漸浮出水面。“客戶在我們這兒買了一輛車,後來到我們公司去維修保養,或者是貸款購車等,他的個人資料分別放在不同系統,不能在一個系統中體現出來,造成很多麻煩。”

防微杜漸,韓曉開始認真考慮用統一的ERP平台整合這4套系統。“一定要在初級階段就把問題解決,現在這4套系統並行還沒出什麽大問題,但等問題出現的時候就晚了。”

最終選擇了SAP面向中小企業用戶開發的解決方案SAP Business

One(以下簡稱SBO)。“我們觀察了很久,也做過很多比較。”韓曉笑言:“汽車廠使用SBO比較多,行業內也有許多朋友在用,而且還有SAP品牌在全球的影響力。”

能夠在共性化的治理平台上極大地實現企業個性化的治理要求,是中冀作出選擇的最大原因。2004年底,中冀集團在實施夥伴漢普的幫助下,首先在集團下屬兩家分公司實施了SBO。“開始確實有不習慣的感覺,因爲新舊兩套系統都要操作,而且SBO的許多流程與我們原有流程不一樣,總體費用比我們原來的幾套加起來要高一些,但是我們一定要轉變。”韓曉堅定地說,“現在公司有700多人,以後還會更多,治理會更複雜,假如沿用以前的方式,結果不堪設想。”

2005年初,在兩個分公司成功上線SBO後,信息孤島問題被很好地解決。中冀集團的計劃是,在明年3月份,SBO在集團全部上線,實現統一的標准化治理,爲公司進一步發展和拓展業務提供更有力的支持。

C++箴言:考慮支持不抛異常的swap
更多內容請看C/C++技術專題專題,或

翻譯:Effective C++, 3rd Edition, Item 25: 考慮支持不抛異常的 swap(上)
Item 25: 考慮支持不抛異常的 swapswap 是一個有趣的函數。最早作爲 STL 的一部分被引入,後來它成爲異常安全編程(exception-safe programming)的支柱(參見 Item 29)和壓制自賦值可能性的通用機制(參見 )。因爲...查看完整版>>翻譯:Effective C++, 3rd Edition, Item 25: 考慮支持不抛異常的 swap(上)
 
翻譯:Effective C++, 3rd Edition, Item 25: 考慮支持不抛異常的 swap(下)
因此該怎麽做呢?我們還是需要一個方法,既使其他人能調用 swap,又能讓我們得到更高效的模板特化版本。答案很簡單。我們還是聲明一個非成員 swap 來調用成員 swap,只是不再將那個非成員函數聲明爲 std::swap 的特化...查看完整版>>翻譯:Effective C++, 3rd Edition, Item 25: 考慮支持不抛異常的 swap(下)
 
C++箴言:考慮可選的虛擬函數的替代方法
  現在你工作在一個視頻遊戲上,你在遊戲中爲角色設計了一個 hierarchy(繼續體系)。你的遊戲中有著變化多端的惡劣環境,角色被傷害或者其它的健康狀態降低的情況並不罕見。因此你決定提供一個 member function(...查看完整版>>C++箴言:考慮可選的虛擬函數的替代方法
 
C++箴言:將強制轉型減到最少
C++ 的規則設計爲保證不會發生類型錯誤。在理論上,假如你的程序想順利地通過編譯,你就不應該試圖對任何對象做任何不安全的或無意義的操作。這是一個非常有價值的保證,你不應該輕易地放棄它。 ...查看完整版>>C++箴言:將強制轉型減到最少
 
C++箴言:理解隱式接口和編譯期多態
  object-oriented programming(面向對象編程)的世界是圍繞著 eXPlicit interfaces(顯式接口)和 runtime polymorphism(執行期多態)爲中心的。例如,給出下面這個(沒有什麽意義的)的 class(類)。class Wi...查看完整版>>C++箴言:理解隱式接口和編譯期多態
 
C++箴言:理解typename兩個含義
  在下面的 template declarations(模板聲明)中 class 和 typename 有什麽不同?   template class Widget; // uses "class"   template class Widget; // uses "typename"...查看完整版>>C++箴言:理解typename兩個含義
 
C++箴言:爲類型信息使用特征類
  STL 主要是由 containers(容器),iterators(叠代器)和 algorithms(算法)的 templates(模板)構成的,但是也有幾個 utility templates(實用模板)。其中一個被稱爲 advance。advance 將一個指定的 iterat...查看完整版>>C++箴言:爲類型信息使用特征類
 
C++箴言:讓=返回一個*this的引用
  關于賦值的一件有意思的事情是你可以把它們穿成一串。      int x, y, z;   x = y = z = 15; // chain of assignments   另一件有意思的事情是賦值是右結合的,所以,上面的賦值串可以解析成這樣:   ...查看完整版>>C++箴言:讓=返回一個*this的引用
 
C++箴言:理解new-handler的行爲
  當 operator new 不能滿足一個內存分配請求時,它抛出一個 exception(異常)。很久以前,他返回一個 null pointer(空指針),而一些比較老的編譯器還在這樣做。你依然能達到以前的目的(在一定程度上),但是我...查看完整版>>C++箴言:理解new-handler的行爲
 
 
回到王朝網路移動版首頁