IT培训分享软件开发涉及到的六个重要原则

软件开发原则问题我们已经给大家在前几期的文章中多次强调了其重要性。尤其是不能违反用户的常规使用习惯。今天,IT培训就一起来了解一下,软件开发原则中的六个比较重要的原则都有哪些。



一、单一职责原则


1、单一职责定义


单一职责原则:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。


单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其


他职责的运作,因此要将这些职责进行分离,将不同的职责封装在不同的类中,即将不同的变化原因封装在不同的类中,如果多个职责总是同时发生改变则可将它们封装在同一类中。


2、单一职责优点


1)降低了类的复杂度。一个类只负责一项职责比负责多项职责要简单得多。


2)提高了代码的可读性。一个类简单了,可读性自然就提高了。


3)提高了系统的可维护性。代码的可读性高了,并且修改一项职责对其他职责影响降低了,可维护性自然就提高了。


4)变更引起的风险变低了。单一职责大的优点就是修改一个功能,对其他功能的影响显著降低。


二、里氏代换原则


这个和单一职责原则比起来,显然就好理解多了,而且也不那么模糊不清。


1、定义


官方定义:所有引用基类(父类)的地方必须能透明地使用其子类的对象。


简单理解就是:子类一般不该重写父类的方法,因为父类的方法一般都是对外公布的接口,是具有不可变性的,你不该将一些不该变化的东西给修改掉。


是不是感觉这个原则不太招人喜欢,因为我们在写代码的时候经常会去重写父类的方法来满足我们的需求。而且在模板方法模式,缺省适配器,装饰器模式等一些设计模式都会采用重写父类的方法。


怎么说呢,里氏代换原则的主要目的主要是防止继承所带来的弊端。


继承的弊端:


继承作为面向对象三大特性之一,在给程序设计带来巨大便利的同时,也带来了弊端。


继承会增加了对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子类的功能都有可能会产生故障。


三、接口隔离原则


1、定义


当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。


为什么要这么做呢?


其实很好理解,因为你实现一个接口就是实现它所有的方法,但其实你并不需要它的所有方法,那就会产生:一个类实现了一个接口,里面很多方法都是空着的,只有个别几个方法实现了。


这样做不仅会强制实现的人不得不实现本来不该实现的方法,严重的是会给使用者造成假象,即这个实现类拥有接口中所有的行为,结果调用方法时却没收获到想要的结果。




  • IT鍩硅鍒嗕韩绋嬪簭鍛橀渶瑕佹敞鎰忓摢浜杞欢缂栫▼
    绛旓細杩欎簺淇℃伅搴斿綋鍙繚鐣欏湪鏈湴鐜涓5.閬垮厤鍦ㄩ」鐩腑鎻愪氦渚濊禆 灏嗕緷璧栨帹鍒拌繙绋嬫簮灏嗗鍔犲瓨鍌ㄥ簱澶у皬銆傚垹闄ゅ瓨鍌ㄥ簱涓寘鍚殑鎵鏈夐」鐩緷璧栵紝骞惰鍖呯鐞嗗櫒鍦ㄦ瘡涓瀯寤轰腑涓嬭浇瀹冧滑銆傚鏋滀綘鎷呭績鈥滀緷璧栫殑鍙敤鎬р濓紝IT鍩硅寤鸿搴旇鑰冭檻浣跨敤Jfrog鎴朜exusRepository绛変簩杩涘埗瀛樺偍搴撶鐞嗗櫒瑙e喅鏂规銆
  • IT鍩硅鍒嗕韩杞欢宸ョ▼甯堥渶瑕佸叿澶囧摢浜涚煡璇?
    绛旓細鍙﹀锛屼笉鍚岃涓氾紙閲戣瀺銆佹暀鑲层侀氫俊銆佸尰鐤楋級鐨杞欢宸ョ▼甯堝線寰鍦ㄧ煡璇嗙粨鏋勪笂涔熸湁鎵鍖哄埆銆備粖澶╋紝IT鍩硅灏卞拰澶у鏉ヨ亰鑱婏紒閫氬父鎯呭喌涓嬶紝杞欢宸ョ▼甯堥渶瑕佸叿澶囦互涓嬪嚑涓柟闈㈢殑鐭ヨ瘑缁撴瀯锛氱涓锛氭搷浣滅郴缁熺煡璇嗐傛搷浣滅郴缁熺煡璇嗘槸杞欢宸ョ▼甯堝繀椤诲叿澶囩殑閲嶈鍐呭锛學eb寮鍙棰嗗煙鍙兘浼氫娇鐢ㄥ埌Windows绯诲垪鎿嶄綔绯荤粺锛屽ぇ鏁版嵁鍜岀墿鑱旂綉鏂瑰悜...
  • IT鍩硅鍒嗕韩鎯冲杞欢寮鍙鎬庝箞鍏ユ墜
    绛旓細杞欢寮鍙鍦ㄥ綋涓嬫槸IT琛屼笟涓渶娴佽鐨勨滅豢鐏笓涓氫箣涓鈥濓紝闅忕潃杞欢寮鍙戣涓氱殑涓嶆柇鎷撳睍鍙戝睍锛屽叏鐞冨悇鍦扮殑鍙戝睍璺熻蒋浠跺紑鍙戣涓氱揣瀵嗙浉鍏筹紝褰撲笅鍗冮噾闅惧濂借蒋浠跺紑鍙戜汉鎵嶃傝蒋浠跺紑鍙戣涓氬彲璋撴槸澶氶噾缂轰汉锛屽緢澶氭湅鍙嬫兂瀛﹁蒋浠跺紑鍙戯紝閭d箞鎯冲杞欢寮鍙戞庝箞鍏ユ墜?IT鍩硅寤鸿锛屼粠瀛ava浠庢墜銆傛兂瀛﹁蒋浠跺紑鍙戞庝箞鍏ユ墜?浠庡Java鍏ユ墜銆1....
  • 鐢佃剳鍩硅鍒嗕韩涓撲笟杞欢寮鍙闇瑕佸叿澶囩殑鎶鑳
    绛旓細浠栦滑蹇熺殑鎺ユ墜鏂颁簨鐗╋紝骞剁硡鍚堝埌杞瀷杩囩▼涓殑鐜颁唬绀句細鐢熷瓨涓傜劧鑰屽湪褰撲粖绀句細瑕佷互鐞嗘兂鐨勭姸鎬佺敓瀛橈紝蹇呴』鎺屾彙涓闂ㄥ疄鐢ㄧ殑鐑棬鎶鏈傛垜浠鍒扮幇鍦ㄦ槸淇℃伅鏃朵唬锛岃鎯冲湪鐩墠绀句細涓緱浠ョ敓瀛橈紝鍏堝緱鎺屾彙涓IT鎶鏈鐩稿叧鐨勪笓涓氭妧鑳斤紝浠婂ぉ鐢佃剳鍩硅灏辨潵浜嗚В涓涓杞欢寮鍙鎶鏈渶瑕佸叿澶囩殑鎶鑳!鎺屾彙缂栫▼鎬濇兂 瀛︿範涓闂ㄨ瑷鎴栧紑鍙...
  • IT鍩硅鍒嗕韩Android寮鍙绋嬪簭鍛橀渶瑕佺煡閬撳嚑浠朵簨鎯
    绛旓細绗竴灏辨槸鎶鏈鎵庡疄 鍦ㄤ粠浜嬭繖涓涓氫箣鍓嶆垜鍙傚姞杩嘇ndroid杞欢寮鍙戝煿璁锛屽湪鍖楀ぇ闈掗笩瀛︿範浜嗕竴娈垫椂闂达紝铏界劧涔嬪墠娌℃湁鎺ヨЕ杩囷紝浣嗘槸鍦ㄨ繖涓娈垫椂闂村唴瀛︿細浜嗗緢澶氱殑鐭ヨ瘑銆傛瘡澶╁涔犲埌寰堟櫄锛屾暀瀹ら噷渚濈劧鏈夎佸笀鐨勯櫔浼达紝杩欎竴娈垫椂闂寸殑瀛︿範涓烘垜涔嬪悗鐨勫伐浣滐紝鎵撲笅浜嗗緢濂界殑鍩虹銆傛墍浠ユ棤璁烘槸鍦ㄥ摢涓涓氾紝鎵庡疄鐨勬妧鏈鍏堟槸鎺掑湪绗...
  • IT鍩硅鍒嗕韩杞欢寮鍙戠殑瑙i噴璇存槑
    绛旓細娑夊強鍒浠讳綍浠庝竴涓崟涓鐨勭▼搴忓憳鍒板嚑鍗佷釜鎴栨暟鐧句釜涓汉銆杞欢寮鍙戠殑杩囩▼閫氬父鏄粠鐮旂┒鎴栧甯傚満涓渶瑕佷粈涔堢被鍨嬬殑杞欢鐨勪竴鑸悊瑙e紑濮嬬殑銆傝繖鍙兘鏄竴涓畬鍏ㄦ柊鐨勭▼搴忥紝瑙e喅鏈弧瓒崇殑闇瑕佹垨鏂拌蒋浠跺湪鐜版湁甯傚満銆傝蒋浠跺紑鍙戝叾瀹炴槸涓涓瘮杈冨ぇ鐨勬蹇电殑锛IT鍩硅璁や负鍙湁鎺ヨЕ杩欎釜琛屼笟澶氫簡锛屾墠浼氭湁鏇村姞娣卞埢鐨勭悊瑙c
  • IT鍩硅鍒嗕韩濡備綍瀛︿範杞欢寮鍙瑕佸垎鍑犳璧
    绛旓細鏈夌┖澶氬埌涓浜涚▼搴忓憳璁哄潧杞浆锛屼綘浼氬彂鐜帮紝浠栦滑鍏跺疄寰堜箰瑙傚菇榛橈紝鏃朵笉鏃朵細鍐掑嚭鏅烘収鐨勭伀鑺便傚叧浜庡浣曞涔杞欢寮鍙鏈鍚庡氨鏄鎱庨夌▼搴忚璁¤瑷锛岀敺鎬曞叆閿欒锛屽コ鎬曞珌閿欓儙銆傚垵瀛﹁呴夋嫨绋嬪簭璁捐璇█闇瑕佽皑鎱庡寰呫傝蒋浠跺紑鍙戜笉浠呬粎鏄帉鎻′竴闂ㄧ紪绋嬭瑷浜嗕簨锛屽畠杩橀渶瑕佸叾浠栧緢澶氭柟闈㈢殑鑳屾櫙鐭ヨ瘑銆IT鍩硅璁や负杞欢寮鍙戜篃涓...
  • IT鍩硅鍒嗕韩鍋歫ava杞欢宸ョ▼甯,鎬庢牱鎵嶈兘鍐欏嚭濂界殑浠g爜?
    绛旓細鍏跺疄鏈夌殑java绋嬪簭鍛榡ava浠g爜浼氬彈鍒板ぇ瀹剁殑杩芥崸锛屾槸鍥犱负浠栧湪鍐欎唬鐮佹椂娉ㄦ剰鐨勭粏鑺傚線寰澶氫簬閭d簺涓嶆庝箞鍏虫敞java浠g爜缂栫▼缁嗚妭鐨勭▼搴忓憳锛屼織璇濊锛氣滅粏鑺傚喅瀹氭垚璐モ濓紝閭d箞濡備綍鍐欏嚭濂界殑java浠g爜鍛紵IT鍩硅浠嬬粛涓璧锋潵璁ㄨ涓嬶細1.閲嶈娉ㄩ噴 鏈夌殑java绋嬪簭鍛樺湪鍐欎唬鐮佹椂锛屼粠鏉ユ病鏈夋兂杩囪鍦╦ava浠g爜鍚庡姞涓婄浉鍏崇殑娉ㄩ噴锛岀敋鑷虫槸...
  • it鍩硅鏈夊摢浜涙柟鍚
    绛旓細IT鍩硅鏂瑰悜鍖呮嫭锛杞欢寮鍙銆佺綉缁滃伐绋嬨佸ぇ鏁版嵁涓庝汉宸ユ櫤鑳姐佷簯璁$畻涓庤櫄鎷熷寲銆傝蒋浠跺紑鍙戞柟鍚戞槸IT鍩硅鐨閲嶈缁勬垚閮ㄥ垎銆傝繖涓鏂瑰悜涓昏鍖呮嫭鍚勭被缂栫▼璇█鐨勫涔狅紝濡侸ava銆丳ython銆丆++绛夛紝浠ュ強杞欢璁捐妯″紡鐨勭悊瑙e拰搴旂敤銆傚紑鍙戣呴氳繃瀛︿範杩欎簺鐭ヨ瘑鍜屾妧鑳斤紝鑳藉鍙備笌鍒板悇绫昏蒋浠堕」鐩殑寮鍙戜腑鍘伙紝鍖呮嫭缃戠珯銆佸簲鐢ㄧ▼搴忕瓑銆傞殢鐫鎶鏈...
  • 扩展阅读:开发一个app价目表 ... 十大正规it培训机构 ... 小程序开发收费价目表 ... 十大教育培训机构排名 ... 培训学费价目表 ... 十大软件开发培训机构 ... 附近学电脑培训班 ... 正规的教育培训机构 ... 培训机构会计科目表 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网