java筆記第九節

2021-06-17 17:53:43 字數 1116 閱讀 6942

第九節

一、設計模式(相當於戰術)     入格(看**可用性,美觀性)的由23種。

二、架構模式(相當於戰略)   

目前只有兩種:

1. b/s   瀏覽器-----伺服器,邏輯**堆放到伺服器上(方便公升級,修改,伺服器任務重)

b/s網頁上的內容是臨時從伺服器上下下來的

2. c/s   客戶------伺服器,邏輯**堆放到客戶端上(不適合管理軟體,更新不方便)

工廠的功能:隱藏式建立物件,子類可以隨時得到替換。

此例首先建立乙個介面,有三個方法,通過兩個類來實現,然後工廠類來建立物件,在不動原來的**的基礎上公升級。

公升級1,張三類中的找錢方法老是出錯,需要公升級替換,則要重新寫乙個張三2子類來繼承張三類,將找錢方法重寫,最後在工廠中return張三2;

公升級2,售票人員太少,需要再新增乙個李四則需要在工廠類中註冊。

公升級3,陳五的功能太少,需要再擴充套件,則需要重新建立乙個介面,建立乙個陳五2子類,然後繼承實現所要的功能。

四、單態(單例,單個物件,單個例項)---------設計模式

懶漢式:什麼時候用什麼時候構造。優點:不提前載入資源不浪費資源;但是慢,

單態    餓漢式提前構造物件。優點快,缺點:提前載入資源,浪費資源

單態:讓乙個類指出乙個物件。

寫單例的原因:1.將乙個類保證為乙個物件;

2.這個類的次數訪問過高,但此類不做任何資訊記載。

23種中的建立式模式有單例,工廠,抽象工廠等。

1、餓漢模式

(1)構造器變為私有的;

(2)通過靜態來訪問建立物件;

(3)返回這個物件

2、懶漢模式

在多使用者時出現多個物件,所以要在方法前加synchronized關鍵字,表同步,使用者多時排隊執行。

五、套接類(內部類(屬性),類中類)

類名直接訪問的是靜態的。

public class a

public void mm(); 表示立即繼承該類或者實現該介面。

無名類不可以訪問類(不是內部類)中的屬性,若要訪問變為final才可訪問。

第九節除錯

除錯 第一種方法簡單直接粗暴有效,就是用print 把可能有問題的變數列印出來看看 斷言凡是用print 來輔助檢視的地方,都可以用斷言 assert 來替代 assert的意思是,表示式n 0應該是true,否則,根據程式執行的邏輯,後面的 肯定會出錯。如果斷言失敗,assert語句本身就會丟擲a...

第九節 開閉原則

1 開閉原則,對擴充套件是開放的,對修改是關閉的。2 復用,模組復用和系統復用,其中模組部分復用或將整個專案程式設計可復用的。3 內部模組化時,之中有不同的邏輯。將 分為業務邏輯層和資料儲存層,將 模組化成兩個層級。像 對選單的處理,選單功能實現為業務邏輯 像 選單資料儲存用鍊錶,也可以以後改為雜湊...

第九節 陣列

陣列是為了放多個資料的資料型別,陣列是引用資料型別,除了八種基本資料型別外其他資料都是引用資料型別。語法 有兩種方式 方式一 資料型別 變數名 推薦 例如 int array 方式二 資料型別 變數名 例如 int array 語法 有兩種方式 方式一 變數名 new 資料型別 陣列大小 方式二 變...