日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

坚实原则:单一责任原则

發布時間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 坚实原则:单一责任原则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

單一責任原則是首字母縮寫詞的第一原則。

“一個班級只有一個改變的理由。”

每個模塊或類都應對軟件提供的功能的單個部分負責,并且該責任應由類完全封裝。

例如,想象一下導航軟件的場景。
我們根據給定的方向(北,南,西,東)改變了位置。

Position類包含有關x和y軸位置的值。

package com.gkatzioura.solid.single;public class Position {private Integer xAxis;private Integer yAxis;public Position(Integer xAxis, Integer yAxis) {this.xAxis = xAxis;this.yAxis = yAxis;}public Integer getxAxis() {return xAxis;}public void setxAxis(Integer xAxis) {this.xAxis = xAxis;}public Integer getyAxis() {return yAxis;}public void setyAxis(Integer yAxis) {this.yAxis = yAxis;} }

這個方向是一個枚舉,代表朝北,向東,向南和向西的方向。

package com.gkatzioura.solid.single;public enum Direction {N,W,S,E }

最后有一個Navigator類,負責根據方向和位置的變化進行導航。

public class Navigator {public Position navigate(Position position, Direction direction) {....}}

為了正確導航,導航器應根據方向解析下一個位置。 同樣,導航器應在值小于0的情況下固定位置。

public class Navigator {public Position navigate(Position position, Direction direction) {Position nextPosition = resolve(position,direction);Position fixedPosition =fix(nextPosition);return fixedPosition;}public Position resolve(Position position,Direction direction) {switch (direction) {case N:return new Position(position.getxAxis(),position.getyAxis()+1);case S:return new Position(position.getxAxis(),position.getyAxis()-1);case W:return new Position(position.getxAxis()-1,position.getyAxis());case E:return new Position(position.getxAxis()+1,position.getyAxis());default:throw new IllegalArgumentException();}}public Position fix(Position position) {return new Position(position.getxAxis()<0?0:position.getxAxis(),position.getyAxis()<0?0:position.getyAxis());}}

這種方法的問題在于,如果位置有效性標準發生更改,我們必須更改Navigator類。 位置移動機構變更的情況也相同。 導航器不僅要導航,而且還要解決下一個位置并確定新位置。

不違反單一職責原則的方法是創建一個將解決下一個職位的類,并負責確定新職位。

NextPositionResolver類將根據給定的方向解析下一個位置。

package com.gkatzioura.solid.single;public class NextPositionResolver {public Position resolve(Position position,Direction direction) {switch (direction) {case N:return new Position(position.getxAxis(),position.getyAxis()+1);case S:return new Position(position.getxAxis(),position.getyAxis()-1);case W:return new Position(position.getxAxis()-1,position.getyAxis());case E:return new Position(position.getxAxis()+1,position.getyAxis());default:throw new IllegalArgumentException();}}}

如果無效的x或y值,PositionRepairer類將固定位置。

package com.gkatzioura.solid.single;public class PositionRepairer {public Position fix(Position position) {return new Position(position.getxAxis()<0?0:position.getxAxis(),position.getyAxis()<0?0:position.getyAxis());}}

Navigator類將具有NextPositionResolver和PositionRepairer類作為依賴項,以便正確執行導航。

package com.gkatzioura.solid.single;public class Navigator {private NextPositionResolver nextPositionResolver;private PositionRepairer positionRepairer;public Navigator(NextPositionResolver nextStepResolver,PositionRepairer positionRepairer) {this.nextPositionResolver = nextStepResolver;this.positionRepairer = positionRepairer;}public Position navigate(Position position, Direction direction) {Position nextPosition = nextPositionResolver.resolve(position,direction);Position fixedPosition = positionRepairer.fix(nextPosition);return fixedPosition;}}

您可以在github上找到源代碼。 下一個原則是開放/封閉原則。

另外,我還編寫了備忘單,其中包含一些扎實的原則。
在鏈接中注冊以接收它。

翻譯自: https://www.javacodegeeks.com/2018/02/solid-principles-single-responsibility-principle.html

總結

以上是生活随笔為你收集整理的坚实原则:单一责任原则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品1区2区 | 波多野结衣爱爱 | 自拍偷拍第2页 | 综合色综合 | 精品96久久久久久中文字幕无 | 操大爷影院 | www.黄色免费| 性高潮久久久久久 | 91精品国产色综合久久不卡电影 | 人妻互换 综合 | 露脸丨91丨九色露脸 | 91官网入口 | xxxx999| 日韩一级影视 | 91亚洲视频在线观看 | 五月天六月婷 | 日韩欧美一区二区三区久久婷婷 | www.五月天婷婷.com | 国产精在线 | 一道本不卡视频 | 一级大片网站 | 成人h视频在线观看 | 欧美在线综合 | 涩涩视频网址 | av免费福利| 久久重口味 | 大学生三级中国dvd 日韩欧美一区二区区 | 丁香啪啪| 亚洲天堂中文 | 高清国产一区 | 美女少妇直播 | 国产日韩一区二区三免费高清 | 一个人看的www视频在线观看 | 永久免费看mv网站入口亚洲 | 嫩草伊人久久精品少妇av | 免费av大片| 免费在线观看视频 | 中文视频在线观看 | 日韩一区二区三区不卡视频 | 精品一区二区视频 | 日本午夜一区 | 天天射天天干 | 免费观看黄色网址 | 精品99久久久久成人网站免费 | 开心春色激情网 | 国产精品无码自拍 | 艳妇av| 国产av人人夜夜澡人人爽 | 色婷婷综合在线 | 特级毛片在线 | 国产午夜福利一区二区 | 香蕉av一区二区 | 白俄罗斯毛片 | 日韩欧美中文在线 | 国产做爰高潮呻吟视频 | 国产日韩免费 | 中国农村一级片 | 91九色国产视频 | 日韩精品区 | 日韩欧美在线观看一区二区 | 午夜久久影院 | 日本做爰全过程免费看 | 91色在线| 欧美男人亚洲天堂 | 国产夫妻av | 热久久精品免费视频 | 成人免费黄色网址 | 99国产精品国产免费观看 | 亚洲人体av | 天天碰天天操 | 五月天婷婷爱 | 91精品久久久久久粉嫩 | 内射中出日韩无国产剧情 | 人人爽人人澡 | 欧美老女人性视频 | 亚洲一区二三区 | 欧美黄色一区二区三区 | www.欧美亚洲 | www.99re.| 亚洲视频入口 | 欧美精品午夜 | 精品麻豆av | 天天天色综合 | 国产精品免费无码 | 国产91精品露脸国语对白 | 男人天堂怡红院 | 99青青草 | 超清av在线| 精品国产无码一区二区三区 | 欧美色图亚洲色 | 爱情岛论坛亚洲品质自拍 | 国产欧美久久久久久 | 91影院在线观看 | 天堂91| 黄色三级免费 | 国产又大又硬又粗 | 国产一区二区视频免费在线观看 | av新天堂 | 久久老熟女一区二区三区 |