大家觉得那本 设计模式 教材写的好!

a3212b12 2016-05-20 11:13:17
加精
想找一本书学习下,清大家帮忙推荐下。谢谢
...全文
4664 46 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
MICOOON 2019-04-28
  • 打赏
  • 举报
回复
引用 44 楼 jhdxhj 的回复:
软件和互联网都讲究良好的用户体验和高性能,而少数人缺在研究传说中的设计模式,呵呵
你这辈子注定只会增删改查, 成不了架构师
daidai_xiaomo 2016-12-20
  • 打赏
  • 举报
回复
大话设计模式
zxq_android 2016-10-15
  • 打赏
  • 举报
回复
引用 32 楼 hemowolf 的回复:
[quote=引用 31 楼 jhdxhj 的回复:] [quote=引用 30 楼 hemowolf 的回复:] [quote=引用 28 楼 jhdxhj 的回复:] 你见过的,不需要开发人员参与的修改,与设计模式有关系?也许别人的代码中早包含了那样的功能,配置一下就可以用,这样是设计模式解决了问题?例如中国古人喜欢写一个福字,几十种写法,每种写法都不一样,你说哪种写法你更喜欢?同样每个人写代码的风格可能都不一样。为什么要扯到设计模式?
拜托,你知道什么是设计模式吗? 难道在你根本就不知道它是什么东西的时候,就那么急着去否定它吗? 设计模式不是用来”解决问题“的,它也不是什么软件框架和模块组件,它只是一些软件设计的经验,有人对它们进行了归纳和总结,写成了书,仅此而已。设计模式也不是只用在C#这一门语言上,C++、Java 这些语言都有应用。也不仅仅是在软件设计领域,比如建筑设计里,一个教室会在前后两个地方开个门,而不是在左右开门,这是一种模式。 学习设计模式,本质上就是向前辈们学习设计经验,可以有学习,也可以发展和批判。 [/quote] 哪个培训机构的老师教的?[/quote] 不是哪个老师教的,你自己随便找本设计模式的书看看就知道是不是啦 看样子你根本就不知道什么是设计模式,对一点都不了解的东西,就一股脑地上来否定它,这跟个愤青红-卫-兵有什么区别。 我自己就做过两年老师,教JAVA、数据库,在培训机构、大学都上过课,另外十几年都是在做开发。设计模式有几十个,但常用到的也就那么几个而已。 "你见过的,不需要开发人员参与的修改,与设计模式有关系?也许别人的代码中早包含了那样的功能,配置一下就可以用,这样是设计模式解决了问题?" 说这些, 是因为你说95%是增删改查,所以我告诉你很多项目的工作不是增删改查,有大量的逻辑处理。 另外,有些软件产品配置一下就可以,为什么有些产品却做不到?仅仅是因为人家不会用“case 语句判断一下”吗? 好的产品模块设计得好,软件系统设计师对需求理解得透彻,对模块设计得合理。通过学习设计模式,可以增强软件工程师设计模块的经验,让模块设计得更合理。 算了,不跟你扯了,你自己觉得怎么样就怎么样吧。[/quote] 我觉得你说的对,我感觉设计模式,能让你的代码简洁明了。我刚开始毕业的时候,代码全部放在一个类里,当用户添加需求的时候,我就往这个类里添加功能。随着时间推移,代码越来越臃肿,各个功能纠缠到一块,明明一个很简单的问题,但一修改就报错,因为耦合性太严重了。然后我就开始想寻找解决这种耦合的途径,于是学习设计模式。设计模式对于代码偏少的项目确实无用,但对于代码多就很有用处了。
dongmusic 2016-07-28
  • 打赏
  • 举报
回复
看来那本大话模式这本书大家比较看好,就看这一本了。
薛123 2016-07-08
  • 打赏
  • 举报
回复
jhdxhj 2016-07-07
  • 打赏
  • 举报
回复
软件和互联网都讲究良好的用户体验和高性能,而少数人缺在研究传说中的设计模式,呵呵
jhdxhj 2016-07-07
  • 打赏
  • 举报
回复
设计模式是什么?楼主可以解释清楚不?这东西跟八股文有什么区别?能解决什么问题?只是培训机构以及少数面试官装B用的
a3212b12 2016-07-06
  • 打赏
  • 举报
回复
任何模式都有使用条件,错误的为用而用的使用模式 反而容易造成大的灾难! 使用任何模式的前提 就是 需求分析清楚,考虑好容易变化的可能性。 其实,最困难的我觉得还是 未来的变数 难于把握,而这除了需要“编程” 或者说 “设计” 的经验,更多的是需要 专业业务知识的 掌握深度。 所以,模式还是得看使用模式的那颗脑袋,智商高的脑袋,面临新的专业知识,掌握的快,使用模式出错的概率 就小。 --------------------------------------- 上面这些,是目前学习设计模式的体验,请大家指正!
wanghui0380 2016-07-05
  • 打赏
  • 举报
回复
所以,基于我40楼的说法 可以有两本书 1《冒号课堂》-------------这本其实不是讲设计模式,而是讲设计原则,OO原则,各种设计思想横向,纵向对比 2《大话设计模式》
wanghui0380 2016-07-05
  • 打赏
  • 举报
回复
楼上说微软设计的好,是因为微软用了“设计模式” 呵呵,我能说微软更多好的设计是反模式滴么? 其实正常来说,在学模式之前应该先学,OO和设计原则。没有前面的铺垫,模式反而是限制。同样设计领域也不是纯模式,现在大规模的注入,特性??你在“设计模式”里用什么表达,我说他没有表达,因为他是申明式滴和“设计模式”滴基调都不一样 在比如说linq,你可以说他是provide模式,但是他那个vistor怎么不写成工厂方法,而是一串case呢??更何况他是本身还是函数式滴,这个在设计模式又怎么样?
a3212b12 2016-07-05
  • 打赏
  • 举报
回复
好一段时间没来,多谢各位热烈讨论和回复。 这里就不一一回复拉,再过一段时间来结贴!
a3212b12 2016-07-05
  • 打赏
  • 举报
回复
引用 2 楼 feiyun_Web 的回复:
有一本书叫 自己能写的就是最好的 附送一个地址: http://www.cnblogs.com/lovecherry/category/108156.html
边学编写,确实是一种好方法! 所送网址,内容不错,谢谢!
a3212b12 2016-07-05
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
设计模式跟《设计模式》,是不同的。 比如说 INotifyPropertyChanged 接口和 ObservableCollection<T> 泛型的应用,这就是一种设计模式。比如说 using(){...} 结构是应用,这也是一种设计模式。再比如说熟悉“面向对象的5大原则”,或者是掌握 UML 基本文档(符号)设计方法,这也是设计模式。 而所谓《设计模式》是指上个世纪末由GOF写的那本java的书,以及后来几年衍生的一些通俗讲义。那些书上的内容,在今天 .net 程序员要学的设计模式相比,连百分之一都不足。但是那些书占用你大量时间,用各种雷人的名词,而且它们不懂“事件”而用了17、18个模式来纠结一个简单的事件反转概念,它们站在20年前的角度而没有能够比较清晰地讲明白OOAD基本概念。 再比如说,小到“相同功能代码尽量只写一次”,达到“极限编程技术”等等,这些都是真正的设计模式,因为它们是让程序员养成一种“感觉”就能随时应用的。 而 GOF 的将近 20 年前的那本书上的雷人名词儿和模式,总的来说,相当于在麦当劳、汉堡王店里搞越剧表演。你看看知道在软件工程历史上有 GOF 这几个人写过一本叫做《设计模式》的书,也就算了。
呵呵,首先感谢大牛的辛苦恢复! 我确实是指侠义的《设计模式》。这几天,抽空看了下该书,目前 创建类型 的 那些模式基本学习结束。 综合的来说,确实如你所说,那些模式 在。net中 也就是 继承和接口的一些不同使用方,自己在之前的项目中其实也不自觉的使用了,只是没有给他起名字。 奈何单位不景气,面临要重新找工作的可能。看了一下那些招聘要求,大多数都提到要 熟悉《设计模式》,面试时,万一招聘官 叫你解释几个 那些 雷人的名词,如果不能讲出来的话,企不是要让招聘官笑话拉。 所以,可能还要继续把它学完。 不过,虽然有些过时,毕竟当年它们被总结出来,还是可以学学人家的总结功力!
  • 打赏
  • 举报
回复
引用 35 楼 lyt022 的回复:
入门的话就《大话设计模式》 、经典的话就《设计模式》(GOF)
Main- 2016-06-08
  • 打赏
  • 举报
回复
入门的话就《大话设计模式》 、经典的话就《设计模式》(GOF)
ljheee 2016-05-26
  • 打赏
  • 举报
回复
看这里 http://download.csdn.net/detail/ljheee/9473393 http://download.csdn.net/detail/ljheee/9473392 http://download.csdn.net/detail/ljheee/9473388
Joyfulmath 2016-05-25
  • 打赏
  • 举报
回复
引用 楼主 a3212b12 的回复:
想找一本书学习下,清大家帮忙推荐下。谢谢
第一次看的是什么 大话java设计模式 之类的,具体有些忘记了。 最近在看《敏捷软件开发》。 GOF那本也可以看看。模型就那些,关键是怎么选用和实施。
小灰狼 2016-05-24
  • 打赏
  • 举报
回复
引用 28 楼 jhdxhj 的回复:
你见过的,不需要开发人员参与的修改,与设计模式有关系?也许别人的代码中早包含了那样的功能,配置一下就可以用,这样是设计模式解决了问题?例如中国古人喜欢写一个福字,几十种写法,每种写法都不一样,你说哪种写法你更喜欢?同样每个人写代码的风格可能都不一样。为什么要扯到设计模式?
拜托,你知道什么是设计模式吗? 难道在你根本就不知道它是什么东西的时候,就那么急着去否定它吗? 设计模式不是用来”解决问题“的,它也不是什么软件框架和模块组件,它只是一些软件设计的经验,有人对它们进行了归纳和总结,写成了书,仅此而已。设计模式也不是只用在C#这一门语言上,C++、Java 这些语言都有应用。也不仅仅是在软件设计领域,比如建筑设计里,一个教室会在前后两个地方开个门,而不是在左右开门,这是一种模式。 学习设计模式,本质上就是向前辈们学习设计经验,可以有学习,也可以发展和批判。
jhdxhj 2016-05-24
  • 打赏
  • 举报
回复
引用 26 楼 hemowolf 的回复:
[quote=引用 24 楼 jhdxhj 的回复:] 你说的这些我很多都见过,甚至有的还参与过,当然你可以把它想象的很高深,你说的那些监控系统,很多接口都是第三方提供的,改起来与.NET没有任何关系,大不了加一个CASE语句或者参数配置,都是业内人士,何必装的那么高深?
首先,我的目的是反驳你的“95%”是增删改查 其次,设计模式不是什么高深的东西,只是一些人的编程经验而已,其实很多人(包括你自己在内)都在用,只是不知道它叫什么名字罢了,我们也没必要去纠结它们叫什么名字 再次,我说的这些系统很多厂家都不是用 dot net 做的,行业起步早的有用90年代的VC开发,而我是用 java。 问题不算高深,但绝对不会如你说的“大不了”如何如何就可以搞定的。真要那样的话,软件设计师的工资也就太容易挣了。 我可是亲自体验见过一些监控系统厂家,为了增加对一些设备类型的支持,工程师没日没夜的加班加点改程序、改配置;而有些监控系统很容易就搞定了,根本不需要软件工程师的介入。你以为人家那些加班加点的软件工程师不知道写 case 语句,不知道读配置文件!差距就摆在那里,明显有的系统设计得好,有的设计得差! [/quote] 你见过的,不需要开发人员参与的修改,与设计模式有关系?也许别人的代码中早包含了那样的功能,配置一下就可以用,这样是设计模式解决了问题?例如中国古人喜欢写一个福字,几十种写法,每种写法都不一样,你说哪种写法你更喜欢?同样每个人写代码的风格可能都不一样。为什么要扯到设计模式?
小灰狼 2016-05-24
  • 打赏
  • 举报
回复
引用 24 楼 jhdxhj 的回复:
你说的这些我很多都见过,甚至有的还参与过,当然你可以把它想象的很高深,你说的那些监控系统,很多接口都是第三方提供的,改起来与.NET没有任何关系,大不了加一个CASE语句或者参数配置,都是业内人士,何必装的那么高深?
举个简单的例子,早期的 dot net framework中,做增删改查时,如何得到一个数据库连接、Command? 一般是用一个类似 XXXXFactory.NewConnection 之类的形式,这其实就是一种工厂模式
加载更多回复(26)

7,774

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧