MapWindow是一個可使用插件架構(gòu)進行擴展的桌面GIS,它使用了MapWinGIS繪圖控件,并在2015年使用MEF和Dependency Injection等新技術(shù)從零開始創(chuàng)建,使其體積小、功能強大、速度快。
軟件特色
策略
自由和開放源碼軟件(FOSS)對企業(yè)來說擁有眾多令人信服的優(yōu)勢,其中一些優(yōu)勢甚至比軟件的低價更有價值。一般來說,開放源碼軟件最接近用戶想要的東西,因為這些用戶可以參與制作。這并不是廠商給用戶提供他們所需要的東西,而是用戶和開發(fā)者創(chuàng)造出了他們想要的東西,并且他們創(chuàng)造出了它。
用戶友好
MapWindow5的目的是要成為現(xiàn)有的最友好的GIS桌面應(yīng)用程序。諸如版本庫和工具箱等功能就是這個意圖的很好的例子。因為它是開源的,所以很容易修改,而且由于自動更新器的存在,用戶可以獲得最新的版本。
清晰的代碼
MapWindow5從2015年初開始從頭開始構(gòu)建。MW5使用Visual Studio 2013 Community用C#編寫,并使用了幾種設(shè)計模式和最佳實踐,如MVC、MVP、依賴注入、MEF等。多線程和多任務(wù)是核心架構(gòu)的一部分。SOLID原則被應(yīng)用到了整個代碼中。
靈活性
由于實現(xiàn)了可擴展性管理框架(MEF),通過創(chuàng)建插件或工具箱工具來擴展MW5相對容易。一般來說,工具是單一的任務(wù),如緩沖或剪接。而插件則比較復(fù)雜,可以完成多個任務(wù)和/或有更復(fù)雜的用戶形式。在代碼中,插件和工具的寫法大致相同。