1. 程式人生 > >Atitit.軟體開發的幾大規則,法則,與原則Principle v3

Atitit.軟體開發的幾大規則,法則,與原則Principle v3

Atitit.軟體開發的幾大規則,法則,與原則Principle  v3


1.1. 修改歷史2
2. 設計模式六大原則2
2.1. 設計模式六大原則(1):單一職責原則2
2.2. 設計模式六大原則(2):里氏替換原則2
2.3. 設計模式六大原則(3):依賴倒置原則2
2.4. 設計模式六大原則(4):介面隔離原則2
2.5. 設計模式六大原則(5):迪米特法則2
2.6. 設計模式六大原則(6):開閉原則2
3. S.O.L.I.D原則(oo fp)3
3.1. Single Responsibility Principle (SRP)–職責單一原則 3
3.2. Open/Closed Principle (OCP)–開閉原則3
3.3. Liskov substitution principle (LSP)–里氏代換原則 3
3.4. Interface Segregation Principle (ISP)–介面隔離原則 3
3.5. Dependency Inversion Principle(DIP)–依賴倒置原則 3
4. Dky法則 dry kiss yagni3
5. Other原則4
5.1. 可讀性優先原則4
5.2. 擁抱變化原則  擴充套件性4
5.3.  :迪米特法則最少知識原則”(Principle of Least Knowledge) 4
5.4. 迪米特法則(Law?ofDemeter,?LOD)4
5.5. Don’t Repeat Yourself(DRY)4
5.6. Keep It Simple, Stupid (KISS)4
5.7. Program to an interface, not an implementation4
5.8. You Ain’t Gonna Need It(YAGNI)4
5.9. 最小驚訝原則 遵守標準約定註釋說什麼程式碼就做什麼5
5.10. 最小化耦合原則與最大內聚5
5.11. 隱藏實現細節原則5
5.12. 避免過早優化原則5
5.13. 得墨忒耳定律5
5.14. Common Closure Principle(CCP)–共同封閉原則5
5.15. Common Reuse Principle (CRP)–共同重用原則5
5.16. Hollywood Principle–好萊塢原則5
5.17. High Cohesion & Low/Loose coupling & –高內聚,低耦合6
5.18. Convention over Configuration(CoC)–慣例優於配置原則 慣例優先原則6
5.19. Acyclic Dependencies Principle (ADP)–無環依賴原則 6
5.20. Postel's law伯斯塔爾法則  後向相容性設計6
5.21. 軟體,就像所有技術一樣,具有天然的政治性。程式碼必然會反映作者的選擇、偏見和期望。 6
5.22. 首先為人類設計,其次為機器設計。6
5.23. 抽象原則6
6. 《程式設計法則》二十一條6
7. Recy7
7.1. Command-Query Separation (CQS)–命令-查詢分離原則 7
7.2. Separation of Concerns (SoC)–關注點分離7
7.3. Design by Contract (DbC)–契約式設計7
8. 參考7










1.1.修改歷史
V3 調整欄目 。Add Dky法則 增加了一些原則,刪除了一些模式放入recy
2.設計模式六大原則
2.1.設計模式六大原則(1):單一職責原則
2.2.設計模式六大原則(2):里氏替換原則
2.3.設計模式六大原則(3):依賴倒置原則
2.4.設計模式六大原則(4):介面隔離原則
2.5.設計模式六大原則(5):迪米特法則
最少知識原則”(Principle of Least Knowledge)
  
2.6.設計模式六大原則(6):開閉原則
  
  
作者:: 老哇的爪子 Attilax 艾龍,  EMAIL:

[email protected]
轉載請註明來源: http://blog.csdn.net/attilax




3.S.O.L.I.D原則(oo fp)
一般來說這是面向物件的五大設計原則,但是,我覺得這些原則可適用於所有的軟體開發。
3.1.Single Responsibility Principle (SRP)–職責單一原則
3.2.Open/Closed Principle (OCP)–開閉原則
3.3.Liskov substitution principle (LSP)–里氏代換原則
3.4.Interface Segregation Principle (ISP)–介面隔離原則
3.5.Dependency Inversion Principle(DIP)–依賴倒置原則
4.Dky法則 dry kiss yagni 


5.Other原則
5.1.可讀性優先原則
程式碼應該儘可能地易於閱讀和理解
5.2.擁抱變化原則  擴充套件性
這是Kent Beck寫的一本書的副標題,也被認為是極端程式設計和通用敏捷方法的原則。許多其他原則都基於這個理念:你應該期待和歡迎變化。事實上,很多古老的軟體工程法則,例如最小化耦合原則,就是和讓程式碼變得更容易改變是直接相關的。無論你是不是一個極端程式設計的實踐者,這種寫程式碼的方法真的很有意義。


5.3. :迪米特法則最少知識原則”(Principle of Least Knowledge)
  5.合成/聚合複用原則(Composite/Aggregate Reuse Principle,CARP)
在一個新的物件裡面使用一些已有的物件,使之成為新物件的一部分;新的物件通過這些向物件的委派達到複用已有功能的目的.這個設計原則有另一個簡短的表述:要儘量使用合成/聚合,儘量不要使用繼承.
5.4.迪米特法則(Law?ofDemeter,?LOD)
5.5.Don’t Repeat Yourself(DRY)
5.6.Keep It Simple, Stupid (KISS)
5.7.Program to an interface, not an implementation
5.8.You Ain’t Gonna Need It(YAGNI)
這個原則簡而言之為——只考慮和設計必須的功能,避免過度設計。只實現目前需要的功能,在以後您需要更多功能時,可以再進行新增。
5.9.最小驚訝原則 遵守標準約定註釋說什麼程式碼就做什麼
5.10.最小化耦合原則與最大內聚
5.11.隱藏實現細節原則
5.12.避免過早優化原則
5.13.得墨忒耳定律
程式碼元件應該只和它們的直接關係(如,繼承的類,包含的物件,通過引數傳遞的物件等)溝通


5.14.Common Closure Principle(CCP)–共同封閉原則
5.15.Common Reuse Principle (CRP)–共同重用原則
5.16.Hollywood Principle–好萊塢原則
好萊塢原則就是一句話——“don’t call us,we’ll call you.”。意思是,好萊塢的經紀人們不希望你去聯絡他們,而是他們會在需要的時候來聯絡你。也就是說,所有的元件都是被動的,所有的元件初始化和呼叫都 由容器負責。元件處在一個容器當中,由容器負責管理。
單的來講,就是由容器控制程式之間的關係,而非傳統實現中,由程式程式碼直接操控。這也就是所謂“控制反轉”的概念所在:
?1.不建立物件,而是描述建立物件的方式。
?2.在程式碼中,物件與服務沒有直接聯絡,而是容器負責將這些聯絡在一起。
5.17.High Cohesion & Low/Loose coupling & –高內聚,低耦合
5.18.Convention over Configuration(CoC)–慣例優於配置原則 慣例優先原則
5.19.Acyclic Dependencies Principle (ADP)–無環依賴原則
5.20.Postel's law伯斯塔爾法則  後向相容性設計 
伯斯塔爾法則(Postel's law)特別適用:
Be conservative in what you send, be liberal in what you accept.
傳送時要保守,接收時要開放。


5.21.軟體,就像所有技術一樣,具有天然的政治性。程式碼必然會反映作者的選擇、偏見和期望。
5.22.首先為人類設計,其次為機器設計。
   容易讓使用者理解更重要。相比 讓機器理解(解析)
5.23.抽象原則
6.《程式設計法則》二十一條
《程式設計法則》二十一條
7.Recy


7.1.Command-Query Separation (CQS)–命令-查詢分離原則
查詢:當一個方法返回一個值來回應一個問題的時候,它就具有查詢的性質;
命令:當一個方法要改變物件的狀態的時候,它就具有命令的性質;
7.2.Separation of Concerns (SoC)–關注點分離
7.3.Design by Contract (DbC)–契約式設計


8.參考
軟體設計的七大原則 - On the way - 部落格園.html
一些軟體設計原則 - 部落格 - 伯樂線上.html
一些軟體設計原則 - 部落格 - 伯樂線上.html


優秀程式設計師的18大法則 - 程式設計師 - IT之家.htm


作者::?綽號:老哇的爪子claw of Eagle?偶像破壞者Iconoclast image-smasher
捕鳥王"Bird?Catcher 王中之王King of Kings 虔誠者Pious 宗教信仰捍衛者 Defender?of?the?Faith. 卡拉卡拉紅斗篷 Caracalla red cloak
簡稱:: Emir Attilax?Akbar 埃米爾 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar?bin Mahmud bin  attila bin Solomon bin adam Al?Rapanui?
埃米爾 阿提拉克斯 阿克巴 本 馬哈茂德?本 阿提拉 本 所羅門 本亞當? 阿爾?拉帕努伊?? 
常用名:艾提拉(艾龍), ??EMAIL:
[email protected]





頭銜:uke總部o2o負責人,全球網格化專案創始人,
uke宗教與文化融合事務部部長, uke宗教改革委員會副主席
,Uke部落首席大酋長,
uke制度與重大會議委員會委員長,uke保安部首席大隊長,uke制度檢查委員會副會長,
奶牛科技cto ,uke 首席cto 
uke波利尼西亞區大區連鎖負責人,克爾格倫群島區連鎖負責人,萊恩群島區連鎖負責人,uke湯加王國區域負責人。布維島和南喬治亞和南桑威奇群島大區連鎖負責人 
 Uke軟體標準化協會理事長理事長 uke終身教育學校副校長 
Uke 資料庫與儲存標準化協會副會長 uke出版社編輯總編
Uke醫院方面的創始人


轉載請註明來源:attilax的專欄  ?http://blog.csdn.net/attilax
--Atiend

相關推薦

Atitit.軟體開發規則法則原則Principle v3

Atitit.軟體開發的幾大規則,法則,與原則Principle  v3 1.1. 修改歷史2 2. 設計模式六大原則2 2.1. 設計模式六大原則(1):單一職責原則2 2.2. 設計模式六大原則(2):里氏替換原則2 2.3. 設計模式六大原則(3):依賴倒置原則2 2

Android開發款不錯的外掛提高開發速度

此部落格只是方便自己記錄使用,怕忘記了 歡迎大家告訴我更加好用的外掛,工具和第三方開源庫 寫程式碼酷炫   plugins下載activate-power-mode  一些設定 Window-->activate-power-mode 設定開

你值得擁有的頂級Python IDE為你的Python學習錦上添花!

小編經過長時間的觀察發現,隨著網際網路時代的推進,Python已經變得無處不在,幾乎支援從主要網站到桌面實用程式、企業軟體的所有的功能。Python早已被用來編寫流行的軟體專案,OpenStack,Calibre,dnf/yum,Blender,OpenShot,甚至是原始的BitTorrent客戶端。

atitit 軟體開發方法總結O6

                atitit.軟體開發方法總結O6 #--cmm/cmmi  都曉得這個.#--IPD整合產品開發結構化的流程IPD工具:包括業務及技術上的共工具。5、考評:包括團隊和個人績效考核兩個方面:首先是基於產品開發團隊(PDT)的指標,如上市時間(TTM)、盈利時間和公用構建模組(C

嵌入式軟體開發除錯的3個階段技術和方法

層次1:BringUP 在單板BringUp階段使用JTAG調式。大多數晶片廠家IDE都支援tcl指令碼語言,tcl語言可以控制jtag讀取基本的Register,memory,download等,使用jtag可以完成對pll,ddr等的初始化化配置,進而下載

一個開發週期為6個月的中小型軟體開發專案成本預算大致表不足之處請指點

從Excel貼上過來,有些變形,請諒解一下。 表格中未包含 管理費用、公司的辦公場地費用、稅費等,軟體的開發成本還是很高 的,能有效控制開發成本,相當於賺錢了,表格中不足之處請指點留言。 序號 人員安排 角色 大致成本(元/月) 主要職責分工 1

開發語言爆炸的時代究竟誰主沈浮?

而是 都是 開發 不能 時代 type isp 評論 進展 開發語言大爆炸的時代,究竟誰主沈浮?   當這個系列本來打算是寫人物的,而且是寫我們身邊那些優秀的開發者,然而當第一篇文章,寫的是關於我們長沙.NET社區的優秀開發者鄒瓊俊,發表在博客園之後,有一位也是昔日.NE

混合開發趨勢之一React NativeAndroid聯調

公司某個app的rn模組已經上線了,雖然我沒參與,但是從調研開始我都有大致瞭解,然後今天去學系列下,結合官方例子就寫了這篇 基礎配置部分 解說過程是從你Native加入rn模組,新建的rn專案配置的東西都有 首先 在你的專案根目錄同級開一個

想做Python開發這14種常用Python模組你需知道的模組!

    一、模組介紹 1. 定義: 模組:本質就是.py結尾的python檔案(檔名:test.py,對應的模組名:test) 用來從邏輯上組織python程式碼(變數,函式,類,邏輯:實現一個功能) 更多幹貨分享加python程式語言學習QQ群 5

質量控制-軟體開發專案完成質量差的殺手

網上看到一篇文章,覺得有些點寫得有些道理,自己在上面添加了一點東西,記錄如下: 軟體開發專案完成質量差的幾大殺手   軟體開發過程中,總會遇到各式各樣的問題。如果把問題產生的原因和解決方法搞清楚,就能在開發過程中避免這些問題,開發出高質量的軟體產品。以下就列舉了一些解決方法供

為什麼軟體開發人多事少還會工作量

本文所要分享的是軟體開發過程中,親身經歷過的“怪現象”。為什麼說怪呢,人多力量大,似乎才符合常理,但是往往在軟體專案開展的過程中會出現人多、事少、工作量大的情況,這跟我們以往的認知大相徑庭。 首先,要解釋下標題的意思。「人多」,指的是同一個專案團隊、同一個小組或者同

別人的文章:為什麼軟體開發人多事少還會工作量

本文所要分享的是軟體開發過程中,親身經歷過的“怪現象”。為什麼說怪呢,人多力量大,似乎才符合常理,但是往往在軟體專案開展的過程中會出現人多、事少、工作量大的情況,這跟我們以往的認知大相徑庭。   首先,要解釋下標題的意思。人多,指的是同一個專案團隊、同一個小組或者同一個部門的範圍內;事少, 指的是做出的效果

最火的軟體開發工程師薪資調查資料位居榜首!

如今軟體開發工程師越來越吃香,小姑娘找物件指明就要找程式設計師。看來學習當程式設計師不僅可以拿到高薪資,還容易抱得美人歸啊~ 程式設計師上班,不僅可以喝著咖啡,聽著音樂敲著程式碼?還可以拿著比別的行業高好幾倍的工資,小編想想都是淚啊! 網際網路科技發展蓬勃興起,人工智慧時代來臨,抓住下

Iphone X黑科技揭秘攝像功能是要上天!

touch id 才有 手動 小程序開發 分享 -c 人在 只需要 秋季 北京時間 9 月 13 日 淩晨 1 點,蘋果在美國召開了 2017 年秋季新品發布會 今年是 iPhone 誕生 10 周年, iPhone 已經三年沒有大變樣了,因而今年的關註度也是異常的高,各

Python開發應用之-SQL 建索引的原則

from OS 字段值 between 所有 數據表 檢索 unixtime pos SQL 建索引的幾大原則: 最左前綴匹配原則,非常重要的原則,mysql會一直向右匹配直到遇到範圍查詢(>、<、between、like)就停止匹配,比如a = 1

這就是java程序員想要的成長法則!難道你不想知道?

java 分布式 源碼分析 微服務 程序員 沒有java人願意自己一輩子就滿足於掌握了一些代碼實現的技巧,別人告訴你要實現什麽,你就用代碼堆砌來實現別人的要求!你必須學會從整個項目的角度去思考!你必須學會假如你是項目經理,你該如何思考!你必須學會假如你是架構師,你該如何思考! Java就是

Python可以開發6程序如何學習?

自學 0基礎 Python應用 Python可以開發6大程序,如何學習? Python作為一個整體可以用於任何軟件開發領域。下面來看看Python可以應用在哪些領域的開發。如下所列 -1.基於控制臺的應用程序 Python可用於開發基於控制臺的應用程序。 例如:IPython。 2.基於音頻或視頻

開源項目點心得Java架構必會技術點

動態 xtra 安全 ext hibernate struts 自己 ati 16px 關於學習架構,必須會的幾點技術 1. java反射技術 2. xml文件處理 3. properties屬性文件處理 4. 線程安全機制 5.

PHP九接口視頻教程( 支付寶QQ短信接口,微信接口開發, 支付寶即時到賬接口開發三級分銷全套)

三級 bsp spa pan alt 支付寶 接口開發 info ima PHP九大接口視頻教程( 支付寶,QQ,短信接口,微信接口開發, 支付寶即時到賬接口開發三級分銷全套) 需要的聯系我:QQ: 1844912514 PHP九大接口視頻教程( 支付寶,QQ

2-Wi-Fi無線控制器開發例程(開發8266的種方式比較{ATLuaSDK其它}開發工具安裝開發固件獲取刷固件)

lan 安裝jdk 總結 .cn 必須 教程 單片機 要求 ont 1-AT,Lua,SDK開發方式總結 2-安裝JDK 3-從瀏覽器獲取開發固件 4-自己動手編譯固件(提供視頻教程,必須的文件和匠芯編譯好的bin文件),初學者不要求自己編譯,先學會使用即可 5-刷入學習固