摘要:方法比如一個修改用戶名和密碼的需求,我們把它寫在一個方法里天津市上述代碼的方法職責不明確,既有修改用戶名又修改地址,不符合單一職責原則。
Android學習資源分享合集(1)-視頻資源
簡介:單一職責原則(SRP:Single responsibility principle),它規定一個類應該只有一個發生變化的原因。所謂職責是指類變化的原因。如果一個類有多于一個的動機被改變,那么這個類就具有多于一個的職責。而單一職責原則就是指一個類或者模塊應該有且只有一個改變的原因。
單一職責原則的好處:
● 類的復雜性大大降低,每個類都有清楚的定義。
● 提高可讀性。
● 維護性高。
● 變更時風險率降低。
轉化到Android開發中也就是我們編寫的接口、類、方法要使用單一職責原則,下面通過這三個方面來詳細了解一下單一職責原則。
Interface:public interface Weather { //加載某日某城市的天氣 void LoadWeather(String date,String city); //獲取天氣成功 void GetWeatherSuccess(); //獲取天氣失敗 void GetWeatherError(Throwable e); }
從接口本身來看寫的沒問題,但是從單一職責原則的角度上看是有問題的,接口里展示了兩個職責,一個是加載數據,一個是提示信息。再換個角度想,相互不影響的方法可以拆分成多個接口,那我們來看GetWeatehrSuccess()和GetWeatherError(Throwable e),如果其中一方發生變化了,那么另一方肯定發生變化了 ;那么LoadWeather(String date,String city)和其他兩個方法比較會發現相互不影響。所以LoadWeather(String date,String city)可以多帶帶拆分出來。
所以接口要符合單一職責。
方法:比如一個修改用戶名和密碼的需求,我們把它寫在一個方法里.
private void ChangeUser(String username,String address) { username="abc"; address="天津市"; }
上述代碼的方法職責不明確,既有修改用戶名又修改地址,不符合單一職責原則。每個方法必須的職責必須清晰明確,不僅開發簡單,而且維護也很容易。
正確的修改如下:
private void ChangeUserName(String username) { username="abc"; } private void ChangeAddress(String address) { address="天津市"; }類:
類的單一職責原則和接口、方法的單一職責一樣的,但是我們會發現先在項目開發中很多類都不太符合,那是因為類的單一職責受很多因素的影響,比如說項目的周期、技術人員的水平等等。
所以總結起來,在開發中,定義的接口和方法一定要做到單一職責,類要視情況而定。
我的公眾號
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70494.html
摘要:首先先祝大家國慶節快樂今天距離為我運營公眾號已經一個月了,今天把文章整合一下,希望對大家有幫助,也謝謝朋友的支持,我會繼續堅持原創,寫更好的文章給大家一視頻獲取學習資源分享合集二功能篇實現金額的語音播報功能基于模式風格的封裝之路炫酷動畫跳 showImg(https://segmentfault.com/img/remote/1460000011437678?w=900&h=500);...
摘要:首先先祝大家國慶節快樂今天距離為我運營公眾號已經一個月了,今天把文章整合一下,希望對大家有幫助,也謝謝朋友的支持,我會繼續堅持原創,寫更好的文章給大家一視頻獲取學習資源分享合集二功能篇實現金額的語音播報功能基于模式風格的封裝之路炫酷動畫跳 showImg(https://segmentfault.com/img/remote/1460000011437678?w=900&h=500);...
閱讀 3159·2021-10-14 09:42
閱讀 3564·2019-08-26 13:56
閱讀 3445·2019-08-26 11:59
閱讀 938·2019-08-23 18:00
閱讀 2197·2019-08-23 17:51
閱讀 3522·2019-08-23 17:17
閱讀 1479·2019-08-23 15:11
閱讀 5146·2019-08-23 15:05