大战熟女丰满人妻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 也可以單獨存在。

目錄

返回頂部
主站蜘蛛池模板: 亚洲综合色在线观看 | 亚洲国产成+人+综合 | 亚洲精品国产福利片 | 蝌蚪久久| 日日碰天天久久 | 中文字幕五月天 | 国产成人精品一区二区视频 | 久久久精品久久久久久 | 正在播放国产精品 | 日本不卡不码高清免费观看 | 国产欧美日韩精品综合 | 99久久免费精品高清特色大片 | 久久九九热re6这里有精品 | 99精品国产成人一区二区 | 久久99精品国产麻豆不卡 | 国产v欧美v日韩在线观看 | 夜夜爽日日澡人人添 | 免费观看呢日本天堂视频 | 国产伊人久久 | 中文字幕 日韩有码 | 国产精品久久久久久久小唯西川 | 精品国产综合 | 视频一区在线免费观看 | 国产午夜亚洲精品久久999 | japanese乱子另类 | 欧美在线视频一区二区三区 | 国产一区二区三区在线免费观看 | 国产高清福利91成人 | 日本tv欧美tv天堂 | 目韩一区二区三区系列片丶 | 国产h版大片在线播放 | 性欧美精品久久久久久久 | 狠狠色噜噜综合社区 | 中国妞xxxx| 国产成人亚洲精品老王 | 亚洲精品永久一区 | 欧美人成一本免费观看视频 | 亚州国产 | 国产成人a一区二区 | 亚洲精品成人a | 在线播放国产精品 |