大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

面試題首頁 > 設計模式面試題

設計模式常見面試題

001什么是設計模式(Design pattern)?

設計模式(Design pattern)是一種思想,是一套被反復使用的代碼設計經驗總結,專門用于解決特定場景的需求。它提供了在軟件開發(fā)過程中面臨的一些問題的最佳解決方案,使用設計模式是為了提高代碼的可重用性、讓代碼通俗易懂,增加代碼可靠性。

002面向對象編程中,都有哪些設計原則?

開閉原則:對擴展開放,對修改關閉。就是如果要修改原有的功能或者是擴展功能,盡量去擴展原有的代碼,而不是修改原來已有的代碼。
里氏替換原則:任何子類對象都應該可以替換其派生的超類對象 。即,子類可以擴展父類的功能,但不要修改父類原有的功能。 也就是說,當一個子類繼承父類后,盡量不要去重寫它原有的方法。
依賴轉置(依賴倒置)原則:要面向接口編程,不要面向實現編程。兩個模塊交互時,都訪問各自接口,而不是具體的實現類。
單一職責原則:一個對象要專注于一種事情,不要讓它擔任太多責任。
接口隔離原則:一個接口盡量只包含用戶關心的內容。就是一個接口不要太龐大。
迪米特法則:如果兩個軟件實體之間不是特別必要,盡量不要讓他們直接通信。而是找個第三方進行轉發(fā),比如使用MQ(消息隊列)。
合成復用原則:如果在“組合/聚合”和“繼承”之間做抉擇時,優(yōu)先選擇“組合/聚合”。

003設計模式的分類?

創(chuàng)建型模式:用于創(chuàng)建對象的設計模式。一般可以簡化用戶創(chuàng)建對象的過程。其次可以降低耦合度,用戶不需要關心對象具體的創(chuàng)建過程。包含:單例模式、原型模型、工廠模式、建造者模式。
結構型模型:組織對象之間的結構。使其易于擴展等。包括:代理模式、適配器模式、橋接模式、裝飾器模式、外觀模式、享元模式、組合模式。
行為模型:主要用于決定對象如何做出行為包括:模板方法模式、策略模式、命令模式、責任鏈、狀態(tài)模式、觀察者模式、中介者模式、迭代器模式、訪問者模式、備忘錄模式、解釋器模式。

004設計模式的作用?

1)提高代碼復用率,降低開發(fā)成本和周期;
2)提高代碼可維護性、可拓展性;
3)使代碼更加優(yōu)雅、更容易被他人理解。

005舉例說明一個符合開閉原則的設計模式的例子?

開閉原則要求你的代碼對擴展開放,對修改關閉。這個意思就是說,如果你想增加一個新的功 能,你可以很容易的在不改變已測試過的代碼的前提下增加新的代碼。有好幾個設計模式是基 于開閉原則的,如策略模式,如果你需要一個新的策略,只需要實現接口,增加配置,不需要 改變核心邏輯。一個正在工作的例子是 Collections.sort() 方法,這就是基于策略模式,遵循 開閉原則的,你不需為新的對象修改 sort() 方法,你需要做的僅僅是實現你自己的 Comparator 接口。

006OOP中的組合、聚合和關聯有什么區(qū)別?

如果兩個對象彼此有關系,就說他們是彼此相關聯的。組合和聚合是面向對象中的兩種形式的 關聯。組合是一種比聚合更強力的關聯。組合中,一個對象是另一個的擁有者,而聚合則是指 一個對象使用另一個對象。如果對象 A 是由對象 B 組合的,則 A 不存在的話,B一定不存在, 但是如果 A 對象聚合了一個對象 B,則即使 A 不存在了,B 也可以單獨存在。

目錄

返回頂部
主站蜘蛛池模板: 337p日本大胆欧洲色噜噜高清 | 欧美无吗 | 久久 精品 一区二区 | 国产高清在线视频一区二区三区 | 欧美成人免费高清网站 | 99热国产这里只有精品 | 一区二区三区中文国产亚洲 | 波多野结衣二区 | 久久草草 | 欧美啪啪小视频 | 亚洲视频网站在线观看 | 九九夜夜操妹子 | 亚洲人和日本人hd | a一级网站| 欧美洲精品亚洲精品中文字幕 | 久久久日韩精品国产成人 | 国产娱乐凹凸视觉盛宴在线视频 | 波多野结衣精品中文字幕 | 一级看片免费视频 | 久草热线| 亚洲欧美成人网 | 香港三级做爰大爽视频 | 91色吧| 亚洲欧美日韩精品高清 | 99精品在线观看 | 成人特级毛片69免费观看 | 日韩精品视频一区二区三区 | 国产精品1区2区3区在线播放 | 亚洲国产精品综合久久网络 | 国产亚洲新品一区二区 | 国产伦精品一区二区三区视频小说 | 日本一区二区高清 | 亚洲精彩视频在线观看 | 亚洲欧美日韩一区二区在线观看 | 日本天天谢天天要天天爱 | 国产欧美曰韩一区二区三区 | 久久爱伊人一区二区三区小说 | 精品视频在线观看免费 | 国产午夜久久精品 | 老司机深夜福利网站 | 国自产拍在线天天更新91 |