设计模式略有感悟

SoulRed 2018-02-28 11:38:30
感觉以前是专注于如何辛苦的把砖搬好,
看了一些设计模式后,
感觉现在变成了如何让别人把砖搬好
是不是我现在要晋升工头了?
以前是专注于代码的技术,现在是加上了代码的布局管理。。
...全文
745 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 18 楼 zmidl 的回复:
记得刚开始学C#的时候看过一本书叫做《大话设计模式》把面向对象比喻成活字印刷非常形象,感觉这书不错于是入手开始拜读。一开始的白话确实很通俗易懂。但是。。。。 为了内容充实和商业化需求,之后的内容就没有那么亲切了变成了XX宝典的另一种表现了。大量XX模式可以把你搞疯掉。。。。
是这样的。我们与时俱进,有更好更实用的一整套 .net 设计模式。这个时候再来看最初的设计模式那本书,就已经从全盘接受转为扬弃了。
  • 打赏
  • 举报
回复
设计模式至少有两种解释,一种是我们编程设计的模式,例如我们在 .net 论坛讨论了无数的模式。另外一种就是说的是 GOF(私人帮)在20几年前的那本书,认为那本书是编程指南而我们讨论了这么多 .net 论坛里的设计知识不是设计模式? 先要搞明白这个才能明白立场。谁也不会说设计模式不应该研究学习,主要就是说哪一种教条过时了需要与时俱进,主要的知识点在这里。
zmidl 2018-03-02
  • 打赏
  • 举报
回复
记得刚开始学C#的时候看过一本书叫做《大话设计模式》把面向对象比喻成活字印刷非常形象,感觉这书不错于是入手开始拜读。一开始的白话确实很通俗易懂。但是。。。。 为了内容充实和商业化需求,之后的内容就没有那么亲切了变成了XX宝典的另一种表现了。大量XX模式可以把你搞疯掉。。。。 自从自己开始追求代码的艺术开始不断重构、优化和精炼源代码开始使用各种面向对象的元素后我发现,我自己设计的针对自己手里项目的一套比较“艺术化”的代码风格 就是一套属于自己的设计模式。现在再反过来看某些设计模式的书 就觉得 这些设计模式 只是让你有些启发或者借鉴而已,正真要写属于自己项目里满足需求的设计模式一定是基于本项目自己摸索出来的一套模式。
cheng2005 2018-03-02
  • 打赏
  • 举报
回复
引用 13 楼 weixin_39309867 的回复:
[quote=引用 11 楼 daixf_csdn 的回复:] [quote=引用 9 楼 weixin_39309867 的回复:] 现在很多公司,开发的时候真的不考虑设计模式,很少遵循这个的,客户需求一直在变,需求不明了,不清晰,以及开发人员仅仅是为了实现功能等等原因,早就把设计模式的思想抛弃了,但是如果开发真的严格遵守设计模式,出来的肯定是个好的产品,纯属个人想法。
我认为设计模式是工具,不是架构。说开发过程中遵循架构是语义通顺的,而说开发过程中遵循工具,那就言语不通了。 如果开发过程中,时时要用开发模式去套用各种需求实现,那写出来的代码必然是繁琐和生硬的。[/quote]也没说是架构啊,而且开发的时候考虑设计模式后出来的代码会更规范一些,你说的这些不过是在抠字眼[/quote] 你觉得他是扣字眼,说明你没领悟人家的意思。 你要往墙上敲钉子,需要用锤子。 敲钉子就是开发过程,锤子就是设计模式。 你可以说开发过程中用了设计模式,而不能说开发过程遵循了设计模式,那是绝对的本末倒置。
诺丽果 2018-03-02
  • 打赏
  • 举报
回复
引用 15 楼 wddw1986 的回复:
[quote=引用 13 楼 weixin_39309867 的回复:] [quote=引用 11 楼 daixf_csdn 的回复:] [quote=引用 9 楼 weixin_39309867 的回复:] 现在很多公司,开发的时候真的不考虑设计模式,很少遵循这个的,客户需求一直在变,需求不明了,不清晰,以及开发人员仅仅是为了实现功能等等原因,早就把设计模式的思想抛弃了,但是如果开发真的严格遵守设计模式,出来的肯定是个好的产品,纯属个人想法。
我认为设计模式是工具,不是架构。说开发过程中遵循架构是语义通顺的,而说开发过程中遵循工具,那就言语不通了。 如果开发过程中,时时要用开发模式去套用各种需求实现,那写出来的代码必然是繁琐和生硬的。[/quote]也没说是架构啊,而且开发的时候考虑设计模式后出来的代码会更规范一些,你说的这些不过是在抠字眼[/quote] 你觉得他是扣字眼,说明你没领悟人家的意思。 你要往墙上敲钉子,需要用锤子。 敲钉子就是开发过程,锤子就是设计模式。 你可以说开发过程中用了设计模式,而不能说开发过程遵循了设计模式,那是绝对的本末倒置。[/quote]你们高兴就好
AKA小手冰凉 2018-03-02
  • 打赏
  • 举报
回复
我认为设计模式挺重要的,如果程序第一次写出来并且完成客户需求可能设计模式的重要性还没显现出来。 但是如果考虑到长期维护这套程序产品,方便后期维护人员,设计模式就很重要了,客户的需求日新月异,基于一套好的设计模式,后期维护和开发人员才能在最大限度不影响程序的性能等方面更方便去拓展程序的功能
诺丽果 2018-03-02
  • 打赏
  • 举报
回复
引用 11 楼 daixf_csdn 的回复:
[quote=引用 9 楼 weixin_39309867 的回复:] 现在很多公司,开发的时候真的不考虑设计模式,很少遵循这个的,客户需求一直在变,需求不明了,不清晰,以及开发人员仅仅是为了实现功能等等原因,早就把设计模式的思想抛弃了,但是如果开发真的严格遵守设计模式,出来的肯定是个好的产品,纯属个人想法。
我认为设计模式是工具,不是架构。说开发过程中遵循架构是语义通顺的,而说开发过程中遵循工具,那就言语不通了。 如果开发过程中,时时要用开发模式去套用各种需求实现,那写出来的代码必然是繁琐和生硬的。[/quote]也没说是架构啊,而且开发的时候考虑设计模式后出来的代码会更规范一些,你说的这些不过是在抠字眼
wanghui0380 2018-03-02
  • 打赏
  • 举报
回复
多学,多练。设计模式其实也是坑,先把坑趟平了,在总结感悟把。 ps:我跟建议多练,设计模式最大的毛病是“鸡汤”化了,每个新人看完都觉着自己“高大上”了,结果回到代码依旧摔的满身伤
  • 打赏
  • 举报
回复
C#新手路过,还没接触过设计模式
threenewbee 2018-03-01
  • 打赏
  • 举报
回复
对于C#来说,设计模式基本没有用。设计模式只是为了修补c++语法的缺陷。
圣殿骑士18 2018-03-01
  • 打赏
  • 举报
回复
引用 9 楼 weixin_39309867 的回复:
现在很多公司,开发的时候真的不考虑设计模式,很少遵循这个的,客户需求一直在变,需求不明了,不清晰,以及开发人员仅仅是为了实现功能等等原因,早就把设计模式的思想抛弃了,但是如果开发真的严格遵守设计模式,出来的肯定是个好的产品,纯属个人想法。
我认为设计模式是工具,不是架构。说开发过程中遵循架构是语义通顺的,而说开发过程中遵循工具,那就言语不通了。 如果开发过程中,时时要用开发模式去套用各种需求实现,那写出来的代码必然是繁琐和生硬的。
诺丽果 2018-03-01
  • 打赏
  • 举报
回复
现在很多公司,开发的时候真的不考虑设计模式,很少遵循这个的,客户需求一直在变,需求不明了,不清晰,以及开发人员仅仅是为了实现功能等等原因,早就把设计模式的思想抛弃了,但是如果开发真的严格遵守设计模式,出来的肯定是个好的产品,纯属个人想法。
正怒月神 2018-03-01
  • 打赏
  • 举报
回复
我总觉得,没有几年的工作经验, 很难理解设计模式。 这并不是看几本书就能解决的, 不过看看设计模式,增加你对程序架构的理解,肯定是有好处的。
  • 打赏
  • 举报
回复
引用 6 楼 stevenjin 的回复:
能考虑这方面总之是好的
其实所有的话都可以从两面来理解,就好像“半杯水”你可以说它是半满的也可以说它是半空的。关键是读者自己来理解(而并不是语言文字本身),能听进去才会有进步。
stevenjin 2018-03-01
  • 打赏
  • 举报
回复
能考虑这方面总之是好的
  • 打赏
  • 举报
回复
与其吹设计模式,不如先去看重构的书
xuzuning 2018-03-01
  • 打赏
  • 举报
回复
恭喜你从 搭积木 过渡到 盖房子 了
cheng2005 2018-03-01
  • 打赏
  • 举报
回复
语言特性不够,设计模式来凑。
圣殿骑士18 2018-03-01
  • 打赏
  • 举报
回复
同意楼上。 你现在应该属于第二阶段。作为对大脑的操练,去学习设计模式是有必要的。但再往上,你应该能发现传统的设计模式过于复杂,应用场景实际上很少。我能想起来的用过的设计模式仅仅是简单工厂,而已。
Tidal_Choidi 2018-03-01
  • 打赏
  • 举报
回复
设计模式是一个熟练的程序员“打怪升级”过程中的必修课啊。^_^
Design Patterns: Elements of Reusable Object-Oriented Software(以下简称《设计模式》),一书由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(Gang of Four)”,而这本书也就被称为“四人组(或 GoF)”书。他们首次给我们总结出一套软件开发可以反复使用的经验,帮助我们提高代码的可重用性、系统的可维护性等,解决软件开发中的复杂问题。设计模式已诞生20多年,其间相继出版的关于设计模式的经典著作不计其数。如果说GoF的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书籍可称为“圣经”的“批注版”或者“白话版”。本书正是基于GoF的《设计模式》来编写的。  本课程由《设计模式就该这样学》作者亲授,课程内容和书籍完全同步,可以作为作者对“圣经”实践的精华总结,是一门可以真正能够落地的“设计模式”的课程,也是目前全网唯一一门结合框架源码如何落地“设计模式”这个角度来理解设计模式的课程。本课程将结合JDK、Spring、MyBatis、Tomcat、Netty等经典框架源码展开对设计模式的分析。当然,本课程中还会结合作者多年的“踩坑填坑”经验和“教学答疑”经验,用比“圣经”更深刻、更全面、更通俗、更生动、更有趣、更接地气的方式并且结合真实业务场景分析每种设计模式的优缺点,治愈“设计模式选择困难症”。选设计模式就像相亲选对象,一旦做好了接受TA缺点的准备,那TA就一定属于你。所以,本课程内容对于日常开发而言更具有指导意义。内容均从实战角度出发,在日常应用中,设计模式从来都不是单个设计模式独立使用的。在实际应用中,通常多个设计模式混合使用,你中有我,我中有你。下图完整地描述了设计模式之间的混用关系,希望对大家有所帮助。在《设计模式就该这样学》一书中,还有大量的UML图及易混淆的设计模式对比案例分析,也欢迎大家关注。

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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