成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

架構和改善程序復用性設計1:面向對象性

開發 架構
今天主要說一下“系統的復用性離不開系統的面向對象性”,這也是本架構和改善程序復用性設計系列文章的第一篇。

非常抱歉讓大家等了這么久,這個系列的第一講才開始,呵呵,目錄寫出來后,就是按著目錄一個一個的講出來,與大家一起分享我的開發經驗了,呵呵。

今天主要說一下“系統的復用性離不開系統的面向對象性”,我們可能有一種感覺,那就是在開發一個項目時用到了一段代碼塊,在另一個項目中也用到了,我們通常的作法就是ctrl+C,然后ctrl+V,呵呵,這樣做的好處就是省事,不好的地方也是“不省事”,為什么這樣說呢?

省事:因為它不需要考慮什么,只是為了實現而去實現,而這肯定是不提倡這種方式的,因為使用這種方式編程的人,永遠不會體會到其中的樂趣,可能只是為了工資而去工作。

不省事:在程序的測試階段,工程師們突然發現了你復制的那塊代碼出現問題了,可能是性能問題,也可能是業務問題,也可能是。。。,反正是出問題了,那你作為一個負責的程序員,會怎么樣,當然是一個一個的去改了,同樣是ctrl+C,ctrl+V,但此時你的一定再后悔,不如把塊代碼,或者那個方法,再或者那個類,再或者那個項目給抽象了。

今天我就來說一下系統要想得到復用,必須把系統先進行抽象,也就是你的系統代碼要符合面向對象的特性,這個系列我將會用最近開發的“通用后臺系統”做為實例,講給大家

這個系統中,用到了4個解決方案文件夾,我下面來分別說一下它們

一 Project.Common文件夾:它為所有項目提供一個公用的,不依賴于其它項目的項目集合,如圖:

image

OnlinePayment:支付功能模塊相關

Standard:服務端和端戶端持久化相關

VCommons:公用功能類庫相關

VConfig:全局公用配置信息相關

二 Project.Core文件夾:它是對N層模型的抽象,將Web(UI),Entity(Model),Data(DAL)等各層的核心公用代碼抽象出來,形成一個與領域無關的項目集合,如圖:

image

Data.Commons:對數據層的抽象,本例中使用了Linq To SQL做為底層ORM,它同樣適用于Entity Frameworks

Entity.Commons:對實體層的抽象,本例中的實體全部是對linq to sql原生實體的擴展,這也多謝微軟的partial關鍵字,并對實體賦值進行了跟蹤

Web.Commons:對WEB層的抽象,本例是標準的MVC模式的風格,對controller進行了抽象,以極對公用特性的抽象,如登陸驗證等

三 Common.Background文件夾:它是對標準的后臺管理系統的抽象,包括最基礎的后臺基礎,有對用戶,菜單,權限,部門等模塊的管理,它適用于所有后臺項目,如圖:

image

Common.Background.Data:對后臺數據層的實現,它繼承自Data.Commons

Common.Background.Entity:對后臺實體層的實現,它繼承自Entity.Commons

Common.Background.Service:后臺業務層的實現,它處理最基礎的業務邏輯

Common.Background.Web.Controllers:后臺UI層的實現,它繼承自Web.Commons

四 個性化項目文件夾,這個就是和領域有關的真正的項目了,它有自己的架構標準,如圖

image

我們可以看到,它也是標準的三層架構,前臺和后臺公用Data和Entity層,項目比較簡單,沒有使用Service層。

通過一個真正項目的解說,您是否對如何提高程序的復用性有一個比較清晰的認識了呢?

原文鏈接:http://www.cnblogs.com/lori/archive/2012/04/27/2473698.html

責任編輯:彭凡 來源: 博客園
相關推薦

2023-03-07 08:30:09

MCube模板緩存

2024-06-24 00:20:00

通用性可維護性可擴展性

2021-03-02 20:43:08

架構后端設計

2022-06-10 07:17:07

重構Java應用

2025-05-07 11:54:05

2010-12-28 19:55:20

軟件架構可靠性

2016-11-03 13:11:21

phpphp框架

2021-08-17 11:01:19

物聯網智能家居IoT

2023-10-10 18:12:02

函數編程語言

2011-07-05 15:22:04

程序設計

2011-07-05 15:59:57

面向對象編程

2011-07-05 16:05:43

面向對象編程

2013-04-17 10:46:54

面向對象

2025-04-10 08:10:00

Web 框架FastAPIPython

2020-04-18 20:21:16

網絡安全可視性安全工具

2023-08-31 08:28:32

軟件窗口TTN_SHOW

2010-06-30 16:17:09

NAC安全終端安全

2010-09-13 10:39:43

CSSCSS文件

2015-10-28 15:41:06

容器開放容器計劃安全性

2015-10-29 10:09:56

開放容器計劃容器安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 蜜桃一区二区三区在线 | 国产精品一区二 | 91久久久久久久久久久 | 日韩欧美中文 | 亚洲一区二区久久久 | 99精品欧美一区二区蜜桃免费 | 久久91av| 国产亚洲欧美另类一区二区三区 | 日韩中文字幕一区 | 狠狠干网站 | 亚洲a一区二区 | 韩日一区二区三区 | 人人人人爽 | 国产精品久久久久久久久久久免费看 | 精品国产欧美 | 91精品免费视频 | 国产一区二区在线观看视频 | 亚洲美女一区二区三区 | 成人在线视频免费看 | 久久综合av | 9191成人精品久久 | 久久精品二区 | 欧美一区二区在线观看视频 | 日韩a在线| 国产成人精品亚洲日本在线观看 | 黄片毛片免费观看 | 最新av在线网址 | 伊人看片 | 婷婷综合网| 日本欧美大片 | 欧美αv | 美女露尿口视频 | 成人国产精品久久 | 亚洲人成人一区二区在线观看 | 日日夜夜免费精品 | 欧美国产日韩一区二区三区 | 欧美美女爱爱视频 | 麻豆changesxxx国产| 亚洲国产欧美国产综合一区 | 亚洲人成人一区二区在线观看 | 日韩av网址在线观看 |