law-of-demeter

    2熱度

    3回答

    這是一個人爲的例子,說我想列出一個人有一個朋友的國家的人口,這裏有兩個設置下面。在模型中重複數據最好嗎? 我聽說Law of Demeter很重要,例如你告訴狗走路,命令他的腿走路是愚蠢的。我發現,當模型重複數據,People.where(:country => friend.country),與存在鏈式關聯(迄今爲止不可能)的集合相比時,查詢會容易得多:People.where(:city =>

    5熱度

    3回答

    我一直在讀這個「demeter法」的東西,它(和純粹的「包裝」類一般)似乎通常是反模式。考慮一個實現類: class FluidSimulator { void reset() { /* ... */ } } 現在考慮另一個類的兩種不同的實現: class ScreenSpaceEffects1 { private FluidSimulator _fluidDynamic

    2熱度

    2回答

    這是違反Law of Demeter的? private void MoveEmptyCells() { IEnumerable<Cell> cells = this.internalGrid.GetAllEmptyCells(); foreach(Cell cell in cells) { cell.RowIndex += this.moveDist

    4熱度

    4回答

    我正在使用一種工具來自動生成分層組織的XML文件的類表示。 XML文件是我的應用程序需要能夠訪問的設置文件(只讀)。 如果我通過在頂級節點(例如,AppSettings)到需要訪問一個或多個設置的課,我可以很容易地結束了代碼看起來是這樣的: var windowSize = AppSettings.Views.Windows.Dashboard.Size; 這似乎嚴重違反了德米特法,但我想知道

    6熱度

    5回答

    public class BigPerformance { public decimal Value { get; set; } } public class Performance { public BigPerformance BigPerf { get; set; } } public class Category { public Perf

    2熱度

    1回答

    下面是我的春/ Hibernate網站的代碼的方法是體現了我的代碼庫: public class UserVoteServiceImpl implements UserVoteService { @Autowired UserRepository userRepository; public static int getUserScore(long userId) {

    5熱度

    3回答

    根據Law of Demeter,你可以調用返回對象的方法嗎? E.g. <?php class O { public function m($http) { $response = $http->get('http://www.google.com'); return $response->getBody(); // violation?

    0熱度

    2回答

    假設我對傳遞到控制器動作的params哈希執行了一些邏輯。我想在一些方法中封裝邏輯,以使代碼易於理解並保持控制器清潔。我可以將Order模型中的方法作爲類級方法。但是,這些方法並不是Order模型的域責任的核心。我的問題是在Rails中放置這些類型的方法的最佳位置是哪裏? OrdersController < ApplicationController def update

    2熱度

    1回答

    我一直在通過Misko Hevery在谷歌的clean code talks上收看。這些談話說:在構造函數中尋求依賴關係,所以其他程序員可以事先看到需要什麼,以實例化給定對象的實例(law of demeter)。這也使得測試更容易,因爲程序員確切知道需要嘲笑什麼。 實施例時間 如果我有一個類Customer和我也有一個CustomerDAO類抽象數據訪問程。當我構建客戶對象時,我可能會執行以下操

    5熱度

    3回答

    法我最近一直在做一些閱讀,並遇到了迪米特法則。現在我讀過的一些內容非常有意義,例如報童應該永遠不可能通過顧客口袋裏的步槍,拿起錢包拿出錢。錢包是顧客應該控制的東西,而不是paperboy。 什麼引發了我對法律,也許我只是誤解了整個事情,是與功能/信息的層次結構一起串屬性可以非常有用。例如.NET的HTTPContext類。 豈不代碼,如: If DataTable.Columns.Count >=