最近由於項目驗收的事,太忙,沒有來的及更新,我不想草率的寫。我儘量把自己在工作中悟到的工作經驗分享給大家。一定要讓自己有利用價值,否則就沒有競爭力。在公司,你在老闆心中有利用價值,這樣才能加薪。做為程式員最重要的競爭力就是技術過硬,技術過硬靠的是編程思想。 在面向對象中,所有的對象都有宿主。重要的話 ...
最近由於項目驗收的事,太忙,沒有來的及更新,我不想草率的寫。我儘量把自己在工作中悟到的工作經驗分享給大家。一定要讓自己有利用價值,否則就沒有競爭力。在公司,你在老闆心中有利用價值,這樣才能加薪。做為程式員最重要的競爭力就是技術過硬,技術過硬靠的是編程思想。
在面向對象中,所有的對象都有宿主。重要的話,說三遍,在C語言中,難的是指針,那在C#中難的是引用類型(堆和棧)。定義一個引用類型的變數相當於定義了一個這個類型的指針,New的時候在記憶體中分配對象,相當於把對象的地址給了這個引用類型的指針。
以上作為引子,不再扯了,今天說外觀模式。外觀模式就是換皮模式,核心代碼不變,你看到的外觀只是不同的組合。像BLL,IDAL,DAL,Common,Model這些層的代碼應該是相對固定的,換UI,換皮的時候,這些代碼可以重用。
直接上例子,我來解釋:
//兩個對象方法寄宿在對象中,每個對象中還有一個類型對象
class Stock1
{
public void Sell()
{
Console.WriteLine(" 股票1賣出");
}
public void Buy()
{
Console.WriteLine(" 股票1買入");
}
}
//方法的寄宿對象
class Stock2
{
public void Sell()
{
Console.WriteLine(" 股票2賣出");
}
public void Buy()
{
Console.WriteLine(" 股票2買入");
}
}
//這個是個外觀對象
class Fund
{
//存其他對象的引用
Stock1 gu1;
Stock2 gu2;
Stock3 gu3;
NationalDebt1 nd1;
Realty1 rt1;
public Fund()
{
//給引用(指針)賦值
gu1 = new Stock1();
gu2 = new Stock2();
gu3 = new Stock3();
nd1 = new NationalDebt1();
rt1 = new Realty1();
}
//方法的不同組合
public void BuyFund()
{
gu1.Buy();
gu2.Buy();
gu3.Buy();
nd1.Buy();
rt1.Buy();
}
public void SellFund()
{
gu1.Sell();
gu2.Sell();
gu3.Sell();
nd1.Sell();
rt1.Sell();
}
}
//實例方法用對象調用
Fund jijin = new Fund();
jijin.BuyFund();
jijin.SellFund();
總結,外觀模式就是換皮模式。重要的還是需要理解面向對象中的堆和棧。沒有女人的日子也挺累的。早點休息了,晚安,快軟考了,可是我還沒準備,哎,搞搞理論也挺有用的。人生只要上進,還是有意思的。