近期風格的代碼比較老式的代碼與方法,有一兩件事立即出現:偶爾的所有方法在同一時間做了一堆東西(我並特別提到了Fortran代碼我現在開放),目前的做法規定你有做事情的方法,以及只是調用做事情的方法的方法。方法是做委託
如何這種風格正式名稱,而那是什麼推動了它的觸發(例如:一個文學論文,圖書館/框架,只是出於自身出現的共識)?
近期風格的代碼比較老式的代碼與方法,有一兩件事立即出現:偶爾的所有方法在同一時間做了一堆東西(我並特別提到了Fortran代碼我現在開放),目前的做法規定你有做事情的方法,以及只是調用做事情的方法的方法。方法是做委託
如何這種風格正式名稱,而那是什麼推動了它的觸發(例如:一個文學論文,圖書館/框架,只是出於自身出現的共識)?
我相信這被稱爲「結構化編程」。另外,請查看Structured Analysis。
Edsger Dijkstra算法是你的男人在這裏...
這就是爲什麼我不喜歡這種方法! (他也是對抗goto的)。 – ruslik 2010-11-05 14:50:41
代表團是可以在很多設計中使用的工具。立即想到的是觀察者模式(在ASP.NET中用於UI事件處理),策略模式 - 可以使用委託來實現......也有更多的負載。
這是不正確的。我說的方法,但你可以在簡單,普通的函數中做同樣的事情,而不涉及OO – 2010-11-05 14:35:07
幹 - Don't Repeat Yourself和維基百科文章中提到的其他「哲學」在這方面發揮了很大的作用,以及確保每種方法只是做一件事。
我會說更多的「關注點分離」,然後...... – 2010-11-05 14:41:18
@Stefano - 它們都有某種程度的相關性。 DRY和關注的分離都鼓勵創建從不同地方被調用的小方法。 – ChrisF 2010-11-05 14:56:20
這一切都發生得太快了,我是不是在一個足夠大的組織,看到發生的一切,但我可以告訴你一些技巧的上漲導致了這一點:
天啊,我知道還有更多。就像UML的興起一樣。
這種類型的設計產生的原因是由於絕大多數人無法正確理解14頁長的功能並將其內部的每個部分內化。 – wheaties 2010-11-05 14:30:07
@wheaties:這很明顯,但很顯然很多人都能夠做到這一點,因爲我看過的所有Fortran代碼都採用14頁長的策略。 – 2010-11-05 14:40:02
也許是提供(爲了將來可能的需要)額外的間接級別?這對於制定者/獲得者尤其有效。 – ruslik 2010-11-05 14:45:27