從拖拉控制項編程到面向設計編程(一)

前言 一> 本書目的。 這是一本思想層面的書,主要是向讀者展示,專業程式員是如何面向對象編程的?設計師是如何面向設計編 程的?逐步引導讀者從控制項編程到對象編程再到業務設計。 二>內容結構。 同事跟我說過一句話,所謂門坎,跨過了就是門,跨不過就是坎。在介紹本書內容之前,先帶領大家瞭解一下從拖拉控制項編程 ...

對象的生命周期

在解釋“對象的生命周期”前,先來看下麵這個例子: 有一個停車場共50個停車位,假如這個停車場是通過人工來管理停車位的使用情況,管理員有一個計數器,用來計錄當前空閑的停車位有多少個,每當有新的停車位被使用了計數器就減1,而有新的停車位空閑了計數器就加1。 我們可以把這些停車位理解為【資源空間】,可支配 ...

設計模式-建造者模式詳解

一、建造者模式的概念 建造者模式屬於創建型設計模式。 指的是將一個複雜的構建與其表示相分離,使得同樣的構建過程可以創建不同的表示。 建造者模式主要解決在軟體系統中,有時候面臨著"一個複雜對象"的創建工作,其通常由各個部分的子對象用一定的演算法構成;由於需求的變化,這個複雜對象的各個部分經常面臨著劇烈的 ...

如何理解類?

“類”是面向對象中一個重要的概念,有了類我們才能去討論什麼是封裝、繼承、多態。 什麼是類?先看下麵這張圖片。 現在你看到這張圖片後,根據圖片中表達的內容造一個句子吧。思考中........,OK,把自己想好的句子記在心裡,然後看下麵我的句子。o(* ̄︶ ̄*)o “一隻動物被兩個人往一個家電裡面裝” ...

系統設計:關於高可用系統的一些技術方案

系統設計:關於高可用系統的一些技術方案 可靠的系統是業務穩定、快速發展的基石。那麼,如何做到系統高可靠、高可用呢?下麵從技術方面介紹幾種提高系統可靠性、可用性的方法。 擴展 擴展是最常見的提升系統可靠性的方法,系統的擴展可以避免單點故障,即一個節點出現了問題造成整個系統無法正常工作。換一個角度講,一 ...

類與對象

在上一篇文章中,說了什麼是類。而在最後留下了一個問題:“湯姆和瑪麗把一隻大象往一個冰箱裡面裝”。這句話跟類又有什麼關係? 通過對比最開始的句子:“一隻動物被兩個人往一個家電裡面裝”。可以看到,現在這兩個不同的句子都描述著同樣的一個場景,意思都差不多,但這個場景中不同句子描述的事物不同。 那在這兩個句 ...

Springboot vue 前後分離 跨域 Activiti6 工作流 集成代碼生成器 shiro許可權

官網:www.fhadmin.org 特別註意: Springboot 工作流 前後分離 + 跨域 版本 (許可權控制到菜單和按鈕) 後臺框架:springboot2.1.2+ activiti6.0.0+ mybaits+maven+介面 前端頁面:html +vue.js 形式 jquery aj ...

最好用的koa2+mysql的RESTful API腳手架,mvc架構,支持node調試,pm2部署。

#基於webpack構建的 Koa2 restful API 伺服器腳手架 這是一個基於 Koa2 的輕量級 RESTful API Server 腳手架,支持 ES6, 支持使用TypeScript編寫。 GIT地址:https://github.com/Allenzihan/koa2-mysql ...

Vuex細說

vuex 1,什麼是 vuex? vuex 是一個專門為 vue.js 應用程式 開發的狀態管理模式+庫 它充當應用程式中所有組件的集中存儲(數據狀態) ,其規則確保狀態只能以可預測的方式進行變更 並且 組件狀態 和 後臺數據 都是響應的 2,vuex使用方法? - 下載:$ npm i vuex ...

python介面測試入門1-什麼是介面測試

為什麼要做介面測試 在日常開發過程中,有人做前端開發,有人負責後端開發。介面就是連接前後臺,由於前端開發和後端開發的速度可能不一樣,例如後端開發好了,但是前端沒有開發。那麼我們是不是就不需要測試呢?一般我們大部分人都是做功能測試,很多是界面的功能測試。如果你理解了介面測試,那麼你就可以針對介面進行測 ...

設計模式-原型模式詳解

一、原型模式的概念 原型模式屬於創建型設計模式。當要創建的對象類型由原型實例確定時使用它,該實例被克隆以生成新對象。 此模式用於 1、避免客戶端應用程式中的對象創建者的子類,如工廠方法模式。 2、避免以標準方式創建新對象的固有成本(例如,使用'new'關鍵字),當它對於給定的應用程式來說過於昂貴時。 ...

SpringMVC 原理 - 設計原理、啟動過程、請求處理詳細解讀

SpringMVC 原理 設計原理、啟動過程、請求處理詳細解讀 目錄 "一、 設計原理" "二、 啟動過程" "三、 請求處理" 一、 設計原理 Servlet 規範 SpringMVC 是基於 Servlet 的。 Servlet 是運行在 web 伺服器上的程式,它接收並響應來自 web 客戶端 ...

記一次Linux修改MySQL配置不生效的問題

背景 自己手上有一個項目服務用的是AWS EC2,最近從安全性和性能方面考慮,最近打算把騰訊雲的MySQL資料庫遷移到AWS RDS上,因為AWS的出口規則和安全組等問題,我需要修改預設的3306埠和Bind Address限制特定的IP訪問,我在Stackoverflow上查詢瞭如何修改,但是網 ...

《分散式設計模式—分散式事務》

分散式事務的挑戰 在多個服務、資料庫和消息代理之間維持數據的一致性的傳統方式是採用分散式事務。分散式的事實標註是XA、XA採用了兩階段提交老保證事務中的所有參與方同時完成提交,或者失敗時同時回滾。應用程式的整個技術棧需要滿足XA標準。 許多新技術,包括NoSQLshujk ,liru MongoDB ...

jpa分頁

法一(本地sql查詢,註意表名啥的都用資料庫中的名稱,適用於特定資料庫的查詢) 法二(jpa已經實現的分頁介面,適用於簡單的分頁查詢) 法三(Query註解,hql語局,適用於查詢指定條件的數據) 可以自定義整個實體(Page<User>),也可以查詢某幾個欄位(Page<Object[]>),和原 ...

Java基礎—面向對象的三大特性

面向對象有三大特性分別是繼承、封裝和多態。 (1)繼承:繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的 ...

設計模式-單例模式詳解

一、引言 單例模式應該算是23種設計模式中比較簡單的,它屬於創建型的設計模式,關註對象的創建。 二、概念 單例模式是23個“Gang Of Four”的設計模式之一,它描述瞭如何解決重覆出現的設計問題,以設計靈活且可復用的面向對象軟體,使對象的實現、更改、測試和重用更方便。 單例模式解決了以下問題: ...

從IDEA角度來看懂UML圖

前言 我們目前已經學習了設計模式的7種設計原則。下麵本該是直接進入具體的設計模式系列文章。 但是呢在我們學習設計模式之前我們還是有必要瞭解一下uml圖。因為後續的設計模式文章不出意外應該會很多地方使用到uml圖。如果你連uml圖都看不懂的話,那麼學習起來肯定會有一定的難度。 所以說,這一節就作為承上 ...

一周排行
  • 1. RSA加密與解密 -- 使用公鑰加密、私鑰解密 測試: RSATool myRSA = new RSATool(); Dictionary<string, string> dictK = new Dictionary<string, string>(); dictK = myRSA.GetKe ...
  • 前提 入行已經7,8年了,一直想做一套漂亮點的自定義控制項,於是就有了本系列文章。 GitHub:https://github.com/kwwwvagaa/NetWinformControl 碼雲:https://gitee.com/kwwwvagaa/net_winform_custom_contr ...
  • 1. 在WPF怎麼在UI上添加超級鏈接 這篇文章的目的是介紹怎麼在WPF里創建自定義的HyperlinkButton控制項。很神奇的,WPF居然連HyperlinkButton都沒有,不過它提供了另一種方式用於在UI上添加超級鏈接: 如果需要在超級鏈接里放圖片或其它東西,代碼如下: 這真是很怪,為什麼 ...
  • 系統環境: Windows + .Net Framework 4.0 問題描述: C#連接FTP下載文件時,在部分電腦上有異常報錯,在一部分電腦上是正常的;異常報錯的信息:System.InvalidOperationException: The requested FTP command is n ...
  • 話不多說,上圖: 整體項目結構如圖所示,我的設計初衷是基於.netCore + DI + Vue 打造一個適合初學者的簡捷開發框架。 架構模型採用基於RESTful API風格的前後臺分離框架,總體分為五層:表示層(前端UI)、交互層、業務層、數據訪問層、數據存儲層。 項目中用到的技術如下圖所示: ...
  • 前提 入行已經7,8年了,一直想做一套漂亮點的自定義控制項,於是就有了本系列文章。 GitHub:https://github.com/kwwwvagaa/NetWinformControl 碼雲:https://gitee.com/kwwwvagaa/net_winform_custom_contr ...
  • 初學者經常碰到的,即獲取HTML元素集合,迴圈給元素添加事件。在事件響應函數中(event handler)獲取對應的索引。但每次獲取的都是最後一次迴圈的索引。原因是初學者並未理解JavaScript的閉包特性。 1. <!DOCTYPE HTML> 2. <html> 3. <head> 4. < ...
  • 摘要 本文將介紹如何通過VS2019創建Xamarin.Forms應用程式,以及如何進行調試。 前言 本文介紹Xamarin.Froms應用程式的創建和調試。 開發環境 1.Visual Studio 2019 2.Xamarin.Forms 3.6.0.344457 創建 1.打開VS2019,選 ...
  • 本次應用DevExpress和C#語言製作了一個批量添加水印的程式,看界面效果圖: 界面中既可以進行文字水印添加,也可以圖片水印添加,同時還可以對水印的位置進行設置,比較實用! 文字水印的具體添加情況,看圖: 還可以文字的預覽: 整個文字水印的預覽: 同時圖片的水印預覽: 最後顯示下圖片的水印效果: ...
  • 一、Swagger是什麼 Swagger 是一款RESTFUL介面的、基於YAML、JSON語言的文檔線上自動生成、代碼自動生成的工具。 二、如何在項目中加入Swagger Swagger安裝引用 右鍵Web項目依賴項>管理NuGet程式包>在搜索框輸入"Swashbuckle.AspNetCore ...
le = window.adsbygoogle || []).push({});