之前接觸物件導向,絕大部份時間都是在理論層面打轉,最近適逢公司推出自有產品的微信解決方案,並且需要一個微信端與產品端的資料對接工具,因此就想趁這個機會,用物件導向的開發方式來玩玩看,另一方面也順便瞭解一下,在 .Net 的體系中開發視窗應用程式與網站應用程式的差異。

一來是自己的職涯正好趕上一個技術分界點,因此對這個蘊釀已久的物件導向程式設計,懷有一種憧憬,二來也是想藉此拋開程序導向程式設計的包袱,邁向一個新的里程。於是一開始就預期,希望能做出一個符合三層式架構,符合物件導向與設計模式精神的東西。但真正投入實作才發現,以前的包袱還深深影響著我,總是下意識地被以前的習慣拖著走,所以在這個階段完成的程式碼,就跟我預期的架構相差非常多,後來一點一點的慢慢修正,就成了現在準備分享的版本。

不過話說回來,其實當前的版本,還是有很大的改善空間。首先目前的原始碼並不符合 3-Layer 的架構,第二是沒用到什麼設計模式,但令人安慰的,至少已經把物件導向程式設計的理念,融入到作品當中。這也代表著,之前埋在理論堆的時間和精神沒有白費。最後,也希望這個簡單的小案例,能夠為 OOP 的初學者帶來一些幫助。

話不多說,先簡單介紹一下這個工具的背景需求,以及我的開發環境與程式架構。

 

一、需求背景

  1. 公司自有的軟體產品,可區分為 SQL Server 資料庫族群,和 Sybase ASA 資料庫族群,各有其用戶。
  2. 微信平台端,可以說是終端使用者和廠家之間的互動媒介,用戶可透過平台查詢自己的重要訊息或者消費狀況。
  3. 廠家可以透過這個對接工具,選擇性的將軟體中的資料上傳到微信端,上傳後的資料供終端使用者查詢。
  4. 廠家也可從微信端下載需要的資料到軟體端,如此達成微信端和軟體端的資料整合。
  5. 目前可供上傳或下載的資料類型,暫時以關鍵模組為主,未來可能會視微信的營運情況來增加資料類型。

 

二、作業環境

  1. 作業系統:Windows 7 旗艦版 + Service Pack 1
  2. 開發環境:Visual Studio 2013 旗艦版 + .Net Framework 3.5
  3. 資料庫:Microsoft SQL Server 2012、Sybase Adaptive Server Anywhere 8

 

三、基本架構

  1. UIL:Visual Studio 方案資料夾,為 VS 內部的虛擬目錄。
  2. C#專案:SQLUtility、SybaseUtility、WebUtility。

 

四、補充說明

 

SQLUtility

Windows Form 專案,SQL Server 版產品的資料對接工具。

 

SybaseUtility

Windows Form 專案,Sybase ASA 版產品的資料對接工具。

 

WebUtility

Web 專案,上述兩種資料對接工具下載作業的處理程序,以 Web Service 實作。

posted on 2015-11-17 14:41  吉格艾諾  阅读(163)  评论(0编辑  收藏  举报