日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

我对设计模式不屑一顾

發布時間:2024/3/26 asp.net 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我对设计模式不屑一顾 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2011年在金蝶,部門組織了一個培訓,由一個資深的老前輩(紀大松)講了一次23種設計模式,當時懵懵懂懂,對設計模式不屑一顧。如今時隔6年,忙里偷閑,我又將23種設計模式看了一遍,依然不屑一顧。6年前不屑一顧,其實是似懂非懂,如今不屑一顧,就真的是不屑一顧了。
說不屑一顧,并不是說設計模式沒有屌用,反而,我對總結出這套理論的大牛們心存感激亦存尊重。我想表達的是,“設計”,“模式”這兩個詞看起來似乎很高大上,好像自己沾點邊那就跟架構師乃至技術總監相隔不遠了,但卻并不如大家想象的那樣遙遠和高深。
我面過一些人,也被很多人面過,在面試java時設計模式是很常見的話題,很遺憾的是,幾乎所有人討論的都是設計模式本身,諸如:你用過哪些設計模式啊?原理什么樣的?畫個類圖看看?使用場景有哪些?門面模式和代理模式有什么區別等等。我曾經遇見過一位同事,可以說是個技術面很廣的人,你隨便說個技術名詞能跟你講一大堆,23種設計模式你隨便挑一個,他都能準確的幫你把概念,類圖,優缺點,適用于哪些場景“背”出來。但是看過他的代碼后,我很悲哀。
在我認為,真正懂得設計模式的人,是不需要去記那些繁瑣的名詞以及概念的,因為“設計模式”對他們來說是“不屑”的(除非他刻意去記)。因為:

1.設計模式只是一些優秀經驗的積累,
舉個栗子:老板說要模擬一個小孩哭的場景,這小孩一哭就哇哇哇。
報告老板,寫完了。
public class Baby {
public void cry() {
System.out.println("wa wa wa!");
}
}
老板又說了,家里有條狗,小孩一哭,狗也跟著叫。
好吧,改一改,先加條狗:
public class Dog {
public void bark() {
System.out.println("汪汪汪!");
}
}
然后,小孩一哭,狗就跟著叫
public class Baby {

private Dog dog;

public void cry() {
System.out.println("哇哇哇!");
if (dog != null) dog.bark();
}
public Dog getDog() {
return dog;
}

public void setDog(Dog dog) {
this.dog = dog;
}
}
老板又說了,主人還養了貓,貓也跟著叫
好,再改
public class Cat {
public void bark() {
System.out.println("喵喵喵!");
}
}
public class Baby {

private Dog dog;

private Cat cat;

public void cry() {
System.out.println("哇哇哇!");
if (dog != null) dog.bark();
if (cat != null) cat.bark();
}

// getter and setter
}
老板又說了,還有雞,雞還不少,好多只。
如果你還認為要這樣繼續加下去我覺得你是一個不合格的程序猿,我相信大部分人肯定會尋思怎么改了,怎么更容易讓老板的需求變得容易實現:
先抽象一個動物,dog和cat直接實現它
public interface Animal {
void bark();
}
public class Cat implements Animal {
public void bark() {
System.out.println("喵喵喵!");
}
}
public class Dog implements Animal {
public void bark() {
System.out.println("汪汪汪!");
}
}
然后改Baby
public class Baby {

private List<Animal> animals = new ArrayList<Animal>();

public void cry() {
System.out.println("哇哇哇!");
for (Animal animal : animals) {
animal.bark();
}
}

public void addAnimal(Animal animal) {
animals.add(animal);
}

// getter and setter
}
現在好了,老板,你家愛有多少動物就有多少吧。
我相信任何一個不懂設計模式的程序猿,稍微有些工作經驗,只要有心優化這段代碼,不想再被老板無休止得加動物而煩惱,這段代碼寫出來并不難,而這就是23種設計模式中的監聽者模式。即使你連設計模式是什么也不知道,只要有心寫上若干年,某天突然來看,你會發現,幾乎所有的設計模式你都用過。

2.設計模式更多的只是一種思想,而不在于代碼
再舉個例子,還是小孩哭,小孩一哭媽媽就喂奶。某某對于設計模式非常“精通”,于是這樣寫:
public interface IMother {
void nurse();
}
public class Mother implements IMother {
public void nurse() {
System.out.println("乖寶寶別哭!");
}
}
public class Baby {

private List<Mother> mothers = new ArrayList<Mother>();

public void cry() {
System.out.println("哇哇哇!");
for (Mother mother : mothers) {
mother.nurse();
}
}

public void addMother(Mother mother) {
mothers.add(mother);
}

// getter and setter
}
不好意思,老板,作為一個老司機,你所有的需求變化都在我的預料之中,隨便你怎么變,我都能滿足你,因為我用了設計模式中的監聽者模式!!
老板:你他媽腦袋有包,小孩能有幾個媽???

spring mvc的controller,service類并沒有要求寫成單例模式,也沒有寫工廠,但是實際上這些類spring都是生成的單例,而且所有實例統一管控。這不正是單例模式和工廠模式的思想么?當你真正明白這些思想時,并不會拘泥于這些模式。

另外也說一點,真正好的設計,并不是基于你用了多少設計模式,而是基于你對當前業務和業務擴展性的理解,非要把一些不會擴展的地方寫成松耦合,濫用設計模式,只會導致工作量增加和類泛濫!

所以,請所有的面試官們,如果你仍然為自己“懂”那么多設計模式而感覺高高在上,請停止你那些愚蠢的提問,因為很可能一個真正的程序猿就被你的無知給篩掉了。

設計模式體現在每一行追求完美的代碼中,而我們無須追尋!
謹以此文獻給那些總在力求讓自己的代碼更加優美,更加易于業務擴展的程序猿們。

總結

以上是生活随笔為你收集整理的我对设计模式不屑一顾的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97人妻精品一区二区三区免 | 亚洲欧洲日韩 | 国产成人精品综合在线观看 | 日韩一级高清 | 丝袜av网站| 精品日韩制服无码久久久久久 | 国产精品欧美综合亚洲 | 99re这里只有精品66 | 亚洲蜜桃在线 | 美女100%视频免费观看 | 欧美整片在线观看 | 国产精品第100页 | 欧美在线一区二区三区 | 沟厕沟厕近拍高清视频 | 日韩少妇内射免费播放 | 午夜伦理一区二区 | 久久成人毛片 | 二区在线视频 | 亚洲天堂无吗 | 免费看欧美成人a片无码 | 色婷婷av一区二区三区在线观看 | 爱爱福利社 | 成人动漫一区二区三区 | 国产黄色视屏 | 91嫩草在线 | 亚洲国产精品综合久久久 | 日韩精品欧美精品 | 国产在线xxxx | 女人性做爰69片免费看 | 精品久久久在线观看 | 欧美成人福利视频 | 久久国产电影 | 少妇肥臀大白屁股高清 | 亚洲国产黄色片 | 三级大片在线观看 | 久久久久久亚洲中文字幕无码 | 99久久久久| 日韩黄色免费观看 | 国产区高清 | 成人福利在线播放 | 亚色在线 | 91看片黄色 | 岛国片在线播放 | 欧美日韩综合一区 | 无码人妻久久一区二区三区 | 精品无码国产一区二区三区51安 | 亚洲精品一区二区口爆 | www狠狠操 | 欧美日韩视频在线 | 精品国产乱码久久久久久108 | 久艹av| 亚洲av无码精品色午夜 | 久草视频手机在线观看 | www.亚洲一区 | 久久精品中文 | 网站在线看 | 国产性生活 | 国产又爽又黄无码无遮挡在线观看 | 黑人精品xxx一区一二区 | 性欧美17一18内谢 | 懂色av一区二区三区蜜臀 | 亚洲国产一区二区三区在线观看 | 国产黑丝在线 | www色网站 | 五月综合色 | 黄色免费网页 | 99久久99久久精品免费看蜜桃 | 91精品欧美一区二区三区 | 日韩av在线看免费观看 | 亚洲欧美日本国产 | 欧美一级大黄 | 日韩专区第一页 | 亚洲欧洲成人在线 | 在线视频你懂得 | 欧美日韩在线一区二区三区 | 娇妻被肉到高潮流白浆 | 国外成人免费视频 | а√天堂www在线天堂小说 | 国产一区自拍视频 | 欧美精品一区二区三区四区五区 | 97超碰总站 | 黑人巨大精品欧美一区二区蜜桃 | 成人黄色一级片 | 麻豆一区二区在线 | 四虎av影视 | 色哥网 | 亚洲毛片精品 | 欧美亚韩一区二区三区 | 99久久久无码国产精品免费 | 中文字幕日韩专区 | 五月激情丁香网 | 国产精品人人爽人人爽 | 国产精品15p | 精品久久精品 | 国产黄网在线观看 | 欧美性猛交ⅹxx | 尤物视频在线观看国产性感 | 国产一区二区三区视频在线观看 | 午夜精品一区二区三区在线播放 |