小結物件導向的類的設計方式

2021-08-21 23:24:27 字數 4024 閱讀 3144

開始接觸。net的人都會知道。net是物件導向的程式設計,即使是從asp往asp。net轉型的人也會發現,儘管**頁面還是熟悉的html頁,而後置頁卻也是乙個繼承於 system.web.ui.page的類。在類中實現了3個方法:

page_load(object sender, system.eventargs e)

oninit(eventargs e)

initializecomponent()

**後置頁主要是實現業務層的功能,實現對資料有效性,業務邏輯等方面的功能。而肩負著對資料庫橋梁的則是自己定義的資料實體類,通常我們都是定義乙個只包含某物件的屬性的類,

如下: 實體類:datfaultinfo,該類封裝了相關屬性。

using system;

namespace oilmanage

public datfaultinfo(string descrption,string dispose,decimal fault_id,datetime operatedate,string operateuser,decimal trialinfo_id)

private string mdescrption;

public string descrption

set}

private string mdispose;

public string dispose

set}

private decimal mfault_id;

public decimal fault_id

set}

private datetime moperatedate;

public datetime operatedate

set}

private string moperateuser;

public string operateuser

set}

private decimal mtrialinfo_id;

public decimal trialinfo_id

set}}}

對於自定義的類,考慮到要提供集合的功能,以便於實現各種介面,如:ilist,icollection,ienumerable 方面訪問集合,於是又利用arraylist實現了對該資料類的集合類。

如下:datfaultinfocollection

using system;

using system.collections;

namespace oilmanage

public datfaultinfo this[int index]

set}

int ilist.indexof(object value)

public int indexof(datfaultinfo value)

public bool isreadonly

}object ilist.this[int index]

set}

public bool isfixedsize

}public bool issynchronized

}public int count

}public void copyto(system.array array,int index)

public object syncroot

}public system.collections.ienumerator getenumerator()

public int add(datfaultinfo value)

int ilist.add(object value)

void ilist.insert(int index, object value)

public void insert(int index, datfaultinfo value)

public void removeat(int index)

void ilist.remove(object value)

public void remove(datfaultinfo value)

bool ilist.contains(object value)

public bool contains(datfaultinfo value)

public void clear()}}

對於給定的資料我們都用加上一些與資料庫通訊的crud方法。

於是我們對於其定義了資料訪問類:datfaultdb

using system;

using system.data;

using system.data.oracleclient;

using fjeptri.dataaccess.datahelper;

namespace oilmanage

param[0].value=datfaultinfo.descrption==null?string.empty:datfaultinfo.descrption;

param[1].value=datfaultinfo.dispose==null?string.empty:datfaultinfo.dispose;

param[2].value=datfaultinfo.fault_id;

param[3].value=datfaultinfo.operatedate;

param[4].value=datfaultinfo.operateuser==null?string.empty:datfaultinfo.operateuser;

param[5].value=datfaultinfo.trialinfo_id;

return oraclehelper.executenonquery(configinfo.getconnectionstring(),commandtype.text,create,param)>0?true:false;

}public static int delete(datfaultpk datfaultpk)

param[0].value=datfaultpk.fault_id;

return oraclehelper.executenonquery(configinfo.getconnectionstring(),commandtype.text,delete,param);

}public static datfaultinfo read(datfaultpk datfaultpk)

param[0].value=datfaultpk.fault_id;

using(oracledatareader dr=oraclehelper.executereader(configinfo.getconnectionstring(),commandtype.text,read,param))

}public static datatable selectalldatfaultinfo()

public static bool update(datfaultinfo datfaultinfo)

param[0].value=datfaultinfo.descrption==null?string.empty:datfaultinfo.descrption;

param[1].value=datfaultinfo.dispose==null?string.empty:datfaultinfo.dispose;

param[2].value=datfaultinfo.fault_id;

param[3].value=datfaultinfo.operatedate;

param[4].value=datfaultinfo.operateuser==null?string.empty:datfaultinfo.operateuser;

param[5].value=datfaultinfo.trialinfo_id;

param[6].value=datfaultinfo.fault_id;

return oraclehelper.executenonquery(configinfo.getconnectionstring(),commandtype.text,update,param)>0?true:false;}}

}

物件導向設計類的原則

我們設計類不應該是按名詞來進行設計,比如門 車等等,的日常名詞來設計。我們設計類,其實是乙個抽象事物的過程,既然是抽象就應當高於日常的表象。我們設計類的,根本目的是為了我們的工程 專案設計起來更方便,擴充套件起來更加容易,是從業務和實際出發的。按照不同的目的,我們會對相同的事物進行不同的抽象,比如汽...

物件導向的設計原則 類設計原則

物件導向設計中,如何通過很小的設計改變就可以應對設計需求的變化,這是令設計者極為關注的問題。為此不少oo先驅提出了很多有關物件導向的設計原則用於指導oo的設計和開發。下面是幾條與類設計相關的設計原則。1.開閉原則 the open closed principle ocp 乙個模組在擴充套件性方面應...

物件導向的設計原則 類設計原則

在物件導向設計中,如何通過很小的設計改變就可以應對設計需求的變化,這是令設計者極為關注的問題。為此不少oo先驅提出了很多有關物件導向的設計原則用於指導oo的設計和開發。下面是幾條與類設計相關的設計原則。1.開閉原則 the open closed principle ocp 乙個模組在擴充套件性方面...