`
ivyloo
  • 浏览: 9197 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

设计的模式与原则的个人愚见

阅读更多

    设计模式、设计框架等等技术层出不穷,就想被打开的潘多拉魔盒,让人应接不暇,内心充满恐惧。显然,如果盲目的学习这些技术,确实是非常累的事情,但是当我学习了一段时间之后,开始有了一种感觉,就是:尽管设计模式有23种之多,许多模式之间除了外在的表现之外,其本质总是有些似曾相识的感觉。设计框架同样如此,尽管在开源社区不断有新的框架推出,但是有些基本的原则在支配着它们的发展方向。
    只有弄清楚这些最本质的东西,才能把握最核心的内核,无论外延如何变化都能行至水穷处,笑看风云淡。
    那么这些本质的内核是什么呢?
    软件业现在已经发展成为一项工程,所以,已经形成了很多规范和建议,这些都是先贤在实践中总结出来的。这些说到底就是如何更好的开发软件以及如何改动尽可能小的扩展现有的系统。其实就是可扩展性,这就是软件设计和发展的原动力和初衷。
    好的系统不能是一团乱麻,而应该是条理清晰。即内核小,而外延丰富,并且外延可以扩展,如何能做到可扩展呢?就是使内核更加纯净,外延的变化不会影响到它,就是降低耦合度,即所有软件规范和建议的最基本点:高内聚、低耦合。
    如何能做到解耦呢?一系列的设计原则就被先贤们总结出来了:
    1、 封装变化;
    2、 多用组合,少用继承;
    3、 针对接口编程,而不是针对具体实现编程;
    4、 开闭原则:对扩展开放,对修改关闭;
    5、 依赖抽象,不要依赖抽象类;
    6、 只和朋友交谈;
    7、 好莱坞原则: 别找我,我会找你;
    8、 类应该只有一个改变的理由。
    当然这些设计原则其实最基本的就是:面向抽象,而不是具体实现!这也是解耦的最重要的和最基本的手段。
    然后又在这些设计原则的基础上,先贤们又总结出来了设计模式。这都是帮助我们更好的降低耦合度。
    其实在软件工程的级别上来说,设计模式是在类-对象一级的解耦。而更高一个层次的解耦,即整体设计上的解耦呢,这种思想就是导致了框架的产生。
    开源社区不断推出的各种框架其实在本质上都是在整体设计上解耦,为此提出的"POJOs"让系统的内核更加纯净,而"依赖注入","AOP"等等则是在次基础上不改变内核,而使外延更加丰富。同时这些框架都不约而同的选择了XML,这样可以更能使解耦发挥到极致,当改变发生时,不需改变源代码,只需修改一下配置文件即可。
    发展的脚步不会停止,但是方向是确定的,就是为了可扩展,这是软件发展的原动力。

    以上纯属个人愚见而已,并不奢求他人附和。

0
0
分享到:
评论

相关推荐

    如何入数值策划的门.docx

    对于这一点有一定争论,很多人认为数值策划应该更多的参与项目的设计而非只是简单的去执行,事实上,国内目前很多数值策划确实是比较深入的参与了项目的总体设计的,个人愚见,造成这种局面的主要原因,大多都是因为...

    STM32F10x Ucos-ii之愚见

    ### STM32F10x与uC/OS-II结合应用详解 #### 一、引言 随着嵌入式系统的快速发展,对于实时性、可靠性的需求日益增加,uC/OS-II作为一款优秀的实时操作系统,因其良好的可移植性、可靠性以及丰富的功能特性,在...

    关于某著名通讯公司增值业务一点愚见.doc

    5. **流媒体应用**:提及到流媒体在当时还未有SP涉足,可能与手机终端的兼容性问题有关。流媒体在后来逐渐成为移动通信领域的重要部分,允许用户观看视频、直播等内容,对网络速度和设备性能有较高要求。 总结来说...

    ESB产品架构之愚见

     3.Gartner:面向服务的体系结构是一种客房机/服务器软件设计方法,其中的应用程序由软件服务和软件服务的使用者(也称为客户机或服务请求方)组成。SOA与更为通用的客户机/服务器模型不同,其定义强调软件组件间的...

    电磁入环

    个人愚见,不对之处希望勿喷。本人非211,985学校,全程摸索,也不懂什么某大佬说的曲线拟合。解决环岛,个人觉的内八就够了。这里用直立小环岛为例,进行说明,但是纯靠内八一定会存在由于赛道铺设存在问题,比如...

    【创新设计】(安徽专用)2014届高考语文一轮复习第四部分 第8单元 附录

    使用“鄙人”、“鄙意”或“愚见”表示自己的观点时,体现出自我贬低的谦逊态度。同时,“小人”、“小店”等词语用于自谦,表达出自己的地位或规模相对较低。 雅语则是具有文化内涵和优雅色彩的表达方式,它涵盖了...

    【创新设计】(辽宁专用)2014高考语文一轮复习 1-6附录 新人教版

    【创新设计】(辽宁专用)2014高考语文一轮复习 1-6附录 新人教版,这部分内容主要涉及的是汉语中的敬词、谦词和雅语的使用,这是中国传统文化中的一种礼仪表达方式,对于提升语言修养和人际交往能力具有重要作用。...

    山东大学电子系-通信原理实验报告汇总

    以试验箱的形式教授通信原理,其实很...个人愚见这种实验方式对学生的个人成长作用有限,希望这份实验报告汇总能帮到大家。因为疫情的缘故,2020级通信原理实验包含了试验箱和MATLAB实验两部分,都包含在此文件中了。

    商务礼仪经典之基本技巧篇.pptx

    【商务礼仪】是社会交往中不可或缺的元素,尤其在IT行业中,良好的商务礼仪不仅能展现个人的专业素养,也有助于建立和维护与客户、合作伙伴及同事的良好关系。此文档重点讲述了商务礼仪中的基本技巧,包括见面的技巧...

    Python科学计算 (张若愚).pdf

    个人愚见使用Python做信号处理远没有使用Matlab简便和成熟,后者就是做信号、控制起家的。   Python的应用应该着眼于丰富的通用库和易编程性,可以随时随地的涂两行代码干成一件事,故本书关于Traits和TraitsUI的...

    【创新设计】(四川专用)高考语文一轮复习 第1部分 第8单元 附录

    4. “愚”字族:“愚兄”向年轻者自称,“愚见”是个人见解。 5. “敝”字族:“敝人”是谦称自己,“敝姓”是谦称自己的姓氏,“敝校”是谦称自己的学校。 6. “拙”字族:“拙笔”是谦称自己的文字或书画,...

    从0到1构建可落地的CMDB

    我们在这篇文章中一起探讨下,其中内容仅代表个人观点,难免偏颇和愚见,欢迎各位留言,一起讨论。先从一个比较有趣的故事和大家分享一下:“某富翁娶妻,有三个人选,富翁给了三个女孩各一千元,请她们把房间装满。...

    古代常见的敬辞与谦辞[整理].pdf

    这些日常交际中的用语,不仅显示了个人的文化修养,也体现了人际关系中的和谐与尊重。 综上所述,中国古代的敬辞和谦辞体系丰富,它们既反映了古人的社交礼仪,也是中华文化的宝贵遗产。在现代社会,虽然这些用词的...

    中考语言表达得体[宣贯].ppt

    这个专题的核心在于理解并掌握语言表达的基本原则,包括考虑交际对象、适应语境、区分谦敬、保持礼貌等。 1. **考虑对象,掌握分寸**:在表达时,我们需要充分考虑到说话的对象,比如他们的性别、年龄、职业、身份...

    软件测试工作的核心技术在哪里?

    软件测试工作的核心技术在哪里?软件测试测试这行,如果按照客观规律总的来说是:入门容易,提升难。有些人做测试8-9年了,其针对同一个产品的测试思路和方法,与测试...仅个人愚见:测试工具开发和自动化测试开发主

    吉林省榆树市第一高级中学2020_2021学年高一语文上学期期中试题202012260396

    4. **美国高校专业设置模式**:文中提及美国高校专业设置的模式,先开设选修课程,待行业发展稳定后再正式设立专业,强调了教育与行业的长期匹配,启示我国高校在专业设置上应避免急功近利,注重长远规划。...

    练习小项目:微博爬虫

    个人一点愚见,某网站数据有分析价值,才会有人爬,因为给爬多了运营小姐姐很生气,该网站才会去研究怎么反爬,于是反反爬,于是反反反爬,于是反反反反爬。。。。。连selenium这么低效的东西都给扯出来写爬虫,可以...

    公开课语言表达之得体PPT课件.pptx

    7. **敬辞谦语的使用**:在称呼他人时,如“家父”、“家母”表示对自己父母的尊重,“舍弟”、“舍妹”用于指称自己的弟弟妹妹,“令堂”、“令尊”是对他人父母的敬称,而“小女”、“拙见”、“愚见”则是对自己...

    高考语文语言得体知识点分析与汇总.doc

    在高考语文中,语言得体是一项重要的考核内容,它...在写作和口语表达中,熟练运用这些词汇,不仅能够提升语言的表现力,还能体现个人的文化素养和社交技巧。因此,理解和掌握这些知识点对于高考语文的得分至关重要。

Global site tag (gtag.js) - Google Analytics