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

目錄

返回頂部
主站蜘蛛池模板: 国产美女流白浆的免费视 | 狠狠色噜噜狠狠狠狠69 | 欧美久久亚洲精品 | 国产精品日韩在线观看 | 亚洲一区二区三区在线视频 | 色综合久久久久综合99 | 性夜黄a爽爽免费视频国产 性夜影院爽黄a爽免费看网站 | 免费一区二区三区久久 | 伊人色综合网一区二区三区 | 一区二区亚洲精品 | 9984四虎永久免费网站 | 中文视频在线观看 | 97久久精品国产成人影院 | 国产成人精品视频一区 | 福利在线视频一区热舞 | 一级一级一级毛片 | 欧美精品中文字幕手机免费视频 | 亚洲欧美成人综合 | 国产精品一区二区三区免费 | 日韩爱爱视频 | 五月激激| 国产亚洲精品久久 | 老王午夜69精品影院 | 亚洲欧美色综合精品 | 大陆一级毛片免费视频观看 | 免费精品久久久视频 | 97久久人人 | 亚洲成人手机在线观看 | 久久96国产精品 | 色婷婷中文字幕 | 亚洲99在线的 | 91视频第一页 | 久草b | 青青青国产在线视频 | 男人边吃奶边爱边做视频日韩 | 亚洲精品一区二区久久久久 | 日本三级一区 | 欧洲成人在线视频 | 日日干夜夜艹 | 曰本性l交视频 | 国语精品91自产拍在线观看二区 |