2018年2月3日 星期六

MahoMangaDownloader Refactoring 日誌 (1)

首先來貼張目前的DEMO圖:



重構方面目前把整個加入漫畫, 下載漫畫的邏輯寫好了,  這樣以後我想追加新網站就只需要改以下三個檔案:
  1. XXX_manga.cs (實作XXX網站的加入漫畫, 下載漫畫的parser)
  2. MangaFactory.cs (負責實體化所有支援網站)
  3. MahoMangaDownloaderForm.cs (下載器UI)
另外還有一個DownloadProcess類是專門負責整個下載的邏輯, 稍微回顧下黑歷史, 以前亂寫的code是沒有2, 然後有1跟3, 可是3跟下載的邏輯是塞在一起的,  造成了實體化的部分跟UI放在一起, 所以每次要改都要稍微trace一下code, 有時看了真的很不爽囧, 這次徹底切割得很清楚, 光是看了就賞心悅目XD, 修改起來也毫無壓力了~~。

除了重構整個架構之外,  存取漫畫清單的方式從序列化整個class的方式, 改成使用SQLite儲存下載清單, 所以自然也多加了可選擇多個下載清單的功能, 之後使用者可以創建多個下載清單, 例如連載用, 單行本用,  紳士用等等XD。

由於這次重構有把多執行緒也加進去了, 實測後開幾條thread都沒問題,  不過考慮到帶給網站負擔的問題, 我會把最大上限鎖到2~3, 畢竟要是下載太扯導致被針對就得不償失了,  當然真要搞多開幾個process分開下載設那個上限也沒意義就是了, 只希望使用者能節制的使用。

目前剩下的工作就是把各網站的parser搬進來, UI的各功能也要搬進來 , 還有程式的穩固性以及測試程式等等(舊版的有多慘我就不提了吧,  畢竟一開始只是做給自己爽的, error handling幾乎沒做啊囧),  還有新功能的關注清單自動下載功能~~嘛....過完年前肯定做不完囧  能做多少就做多少吧,  希望釋出的日期能快點到來 : )

  

3 則留言:

  1. 非常感謝作者的更新
    一直做伸手牌有點不好意思
    什麼時候要開放斗內XDD

    回覆刪除
    回覆
    1. 非常謝謝你的喜愛, 目前個人並沒有開斗內的帳號(未來不排除開放, 尤其是其它正在開發的project >.< )

      真的想贊助的話其實可以多買些實體or電子書支持作家們, 我也是能力以內會盡量支持(想看的作品太多了, 也是有網路才有辦法認識這麼多作品, 真的很感謝有電腦以及網路阿...), 下載收藏之餘多多支持正版就是對我的最大支持了:)

      刪除
    2. 順便一提, 目前預定新版程式會在過年後釋出, 使用上有什麼問題歡迎隨時提出喔^^

      刪除