程式設計五大原則(待更新)
單一職責原則(SRP)
一個類應該僅有一個引起它變化的原因
開放封閉原則(OCP)
類模組是可拓展的,但是不可修改(對拓展開放,對更改封閉)
里氏替換原則(LSP)
子類必須能夠替換它們的基類
依賴倒置原則(DIP)
高層模組不應該依賴於低層模組,二者都應該依賴於抽象
抽象不應該依賴於實現細節,實現細節應該依賴於抽象
介面隔離原則(ISP)
不應該強迫客戶程式依賴於它們不用的方法
抽象工廠模式
應用於多系列相互依賴物件的構建方式,適合於物件集合穩定,但是物件風格變化多(系列多)。
相關推薦
程式設計五大原則(待更新)
單一職責原則(SRP) 一個類應該僅有一個引起它變化的原因 開放封閉原則(OCP) 類模組是可拓展的,但是不可修改(對拓展開放,對更改封閉) 里氏替換原則(LSP) 子類必須能夠替換它們的基類 依賴倒置原則(DIP) 高層模組不應該依賴於低層模組,二者都應該依賴
重構函數基本原則(持續更新)
一段 更新 設置 內部類 重構 修改 一個 變化 但是 1. 重構函數時一定要查清有哪些類調用了該函數 修改函數之前要明白函數每一段代碼的作用再做修改(所以體積小的函數好改啊),我就遇到過這樣的問題,修改函數內部有某個常量,但是該常量對於另外一個調用該函數的類來
單點登錄,session,jsonp(待更新)
es2017 技術 單點 跨域 ima com bsp post class 單點登錄理解: 單點登錄系統設計: ajax跨域: 單點登錄,session,jsonp(待更新)
01字典樹(待更新)
names sin %d string iostream urn stream acm 數字 01字典樹典型的題就是找出異或值最大的兩個數,其實跟字典樹差不多的,就是從原來的26位字母變成了0和1,插入操作也跟字典樹差不多,查詢的時候有貪心思想,盡量找同位不相同的。 模板
數據庫索引的一點學習(待更新)
影響 建立 show 問題: test index set 解決 註意 需要註意的是,建立太多的索引會影響更新和插入的速度,因為它需要同意更新每個索引文件。 對於一個需要經常更新和插入的表格,沒有必要建立索引了 對於比較小的表,也沒有必要建立另外的索引 建立索引會占用磁盤空
博客園樣式自定義(待更新)
ava white tde 百度一下 padding element win timer rip 總感覺這件事情做的晚了哈哈。 以前寫博客總是一個人默默地寫,現在竟然出現了兩個吐槽我挖坑不填的哈哈。(非常感謝~) 大概是終於有個人能夠督促自己學習了,你們怎麽不早點來?!!
風險和策略(待更新)
-s 能力 產業 microsoft nbsp font 基礎 風險 get 時間 20180908-20180914 ,tag記錄 業務場景 1 黑色產業 2 欺詐 3 薅羊毛 4 怎麽證明你是你(身份核實),怎麽證明你不是壞人(反欺詐),怎麽證明你有能力(信用模型)
程式設計書籍分享(持續更新....)
本頁面分享IT技術書籍,所有的書籍均是完整的pdf,所有書籍都有看過(大部分沒看完),都是我認為非常不錯的書籍,分享給大家,放在csdn下載。下載積分都設定為1(csdn現在沒辦法設定成不用積分下載),但如果下載人數太多,csdn會自動把積分調高,如果沒有積分的可以在下方留email,我會盡
學習連結:python&web(待更新)
目錄: 一、python 與 web伺服器 一、python 與 web伺服器 1、深入淺出web伺服器與python應用程式之間的聯絡: https://juejin.im/entry/59d574c5f265da0666416e53 2、從
Linux基礎之Ubuntu基礎命令-date、cal、bc(待更新)
基礎操作命令: 顯示日期與時間的命令: date 顯示日曆的命令: cal 簡單好用的計算器: bc 1. 顯示日期的命令: date 如果在文字介面中想要知道目前Linux系統的時間,那麼就直接在命令列模式輸入date即可顯示: [[email
百度Apollo搭建步驟(待更新)
百度Apollo搭建步驟 ##一、安裝ubuntu16.04 無需多說,安裝完成開啟命令列。 ##二、下載Apollo映象 git clone https://github.com/ApolloAuto/apollo若提示未安裝git,則安裝git。 ##三、安裝docker-ce 如果你過去安裝
Spring宣告式事務(待更新)
四大特性:ACID 原子性:一個事務必須視為一個不可分割的最小工作單元,一個事務要麼全部完成,要麼全部失敗回滾,不可能只執行其中的一部分操作 一致性:事務執行的結果必須使資料庫從一個一致性狀態轉換到另一個一致性狀態,事務必須使資料庫始終保持一致性狀態 隔離性isolat
學習連結:python&web(待更新)
目錄: 一、python 與 web伺服器 一、python 與 web伺服器 1、深入淺出web伺服器與python應用程式之間的聯絡: 2、從零開始搭建論壇(1):Web伺服器與Web框架: 3、從零開始搭建論壇(2):Web伺服器閘道器介面
斐波那契數列的解法以及思路(待更新)
斐波那契數列:1,1,2,3,5,8... int a=1; int b=1; int c=0; 很明顯,這裡c=a+b; 這是第一步,之後a=1; b=2; c=3; 因此,將之前的b賦值給a 將之前的c賦值給b 所以 1、c=a+b 2、a=b
NOIP2018D2T2 填數遊戲(待更新)
提交地址:洛谷P5023 這是一道神級題目: 當數學題做,數競黨沒剛出來QWQ 當狀壓做,我沒剛出來(尬......) 於是騙到50分zz分 考場程式碼: #include <bits/stdc++.h> #define ll long long using namespace std
Open GL常用函式總結(待更新)
1.設定畫筆顏色 glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,1.0,0.0); 2.glFlush();//重新整理圖形,display函式末尾 3.glMatrixMode(GLenum mode) &nb
Educational Codeforces Round 57 (Rated for Div. 2) (待更新)
A.Find Divisible You are given a range of positive integers from l to r . Find such a pair of integers (x,y) that l≤x,y≤r , x≠y and x divides y .
TnesorBoard使用方法(待更新)
TnesorBoard菜鳥教程(包含TFlearn例子) - CSDN部落格https://blog.csdn.net/hwj_wayne/article/details/78224599tensorflow中如何進行視覺化和減輕過擬合 - 雲端計算技術頻道 - 紅黑聯盟ht
Educational Codeforces Round 58 (Rated for Div. 2)(待更新)
force ont div code union ems www. ble ces get人生第七場CF! 成績:(exACM) rank AC3/7 Penalty104 rating() 題目:Educational Codeforces Round 58 (Rate
HDU 1565 方格取數(1) (狀態壓縮DP入門題 2)(待更新)
Problem Description 給你一個n*n的格子的棋盤,每個格子裡面有一個非負數。從中取出若干個數,使得任意的兩個數所在的格子沒有公共邊,就是說所取的數所在的2個格子不能相鄰,並且取出的數的和最大。Input 包括多個測試例項,每個測試例項包括一個整數n 和n*n