软件设计自学教程入门(如何做软件设计一些思考和感悟)

100次浏览     发布时间:2024-11-18 10:37:27    

入行20多年了,做首席架构师/CTO也十多年了,对于如何做软件设计,有一些自己的思考和感悟,这里先记录下几条,跟大家一起来思考。

一:设计的基本技巧

软件设计当中,一个基本的技巧就是:发现和分离变化,并对他们进行抽象和封装,从而实现高内聚和低耦合。

我们做功能设计的时候,会特别强调:要分析出变与不变的地方,只有你找到变和不变的地方,才能够对它进行合理的抽象和封装,从而使得这个系统实现高内聚和低耦合,这样才会有更好的可扩展性、可维护性等。

这个技巧说起来很简单,就是要发现并封装变化,但关键的问题在于:

第一:你怎么才能找到变化的地方

第二:找到了变化的地方过后,你如何封装它才是更好的?

这些都是需要大家在实践当中逐渐去摸索和思考的问题。

二:设计是一种危险的平衡艺术

实际上,做一个好的设计,就是尽可能的找到那个最佳平衡点,但事实上是否真的找到,其实我们也没有把握。

为什么这么说?就拿咱们谈的这个功能设计来说,需要考虑很多方面,而有些方面,相互是有冲突的。比如说你为了让系统扩展性更好,可维护性更好,你设计的程序结构可能复杂度就上升了,至少开发的复杂度就上升了;或者,你为了让你这个系统的结构更合理,可能就会导致性能会略有下降;可能你为了让你这个系统性能更好,又可能会导致利用的这个资源,消耗的比较大等等的,不一而足。

所以在实际的软件系统设计当中,需要我们去综合考虑这各种因素,然后尽量找到一个折中的解决方案。比如让这个系统性能尽可能的好一点,然后让这个资源消耗又不要那么大,这个时候,你要找一些平衡点,这就是刚刚提到的:设计是一种危险的平衡艺术。

实际上,一个好的解决方案,他一定是在综合兼顾、综合考虑各个方面的要求过后,来找到一个相对组合起来较优或者是最优的这么一个方案,所以你从某一点上去看,这个设计方案并不一定是最优的,因为他还要考虑别的方面。

三:没有完美的设计,设计总是在不断演变当中

对于软件设计,没有人能够说自己设计的是完美的。因为这个设计,就算你感觉在当前的这个情况下,已经完美无缺了。

但是,业务是在变化的,功能是在变化的,技术也是在不断变化的,也就是这些外在的东西都在不断变化中,你的设计不可能说一直保持着是最优的,或者说是最完美的,你的软件设计,也必须伴随着这些东西不断去演变。

四:设计是没有标准答案的,只要能更好的实现功能,更好的满足软件设计的评价标准,就是好的设计

软件设计中,并没有说设计一定要这么做而不能那么做,这就跟咱们解决问题一样,有很多种解决方案,只是在不同的场合、不同的场景下,还有,考虑问题的角度不一样,最后选择的方案不一样,这很正常。

所以,设计是没有标准答案的,也不存在放之四海而皆准的设计方案。也就是说,不太可能出现,某个设计,在这个系统里是这么做,到了其它系统还这么做,一点都没啥变化。软件设计,要具体问题具体分析。

五:不要过度设计,不等于不设计,而是更要精巧的设计

不要过度设计并不是说不设计,其潜台词,是更要精巧的设计。

“不要过度设计”这句话有点被某些人用烂了,当你看到某个系统做的比较烂,可能会说,为什么这么做,为什么这儿不设计一下,为什么这个地方不提炼一下等等的。有的人会振振有词的给来句“不要过度设计“。

这个,其实真的就跟一个遮羞布一样,不要过度设计,不是叫你不设计,不是叫你瞎做,这个大家一定要正确的认识。事实上不要过度设计,他要求的是:你更要精巧的去思考,你设计出来的东西还要精巧的去取舍,很精细的取舍,哪些东西现在要做进来,哪些东西不要做进来,实际上对你的设计要求更高,而不是叫你直接什么都不做。

事实上,通过精巧的设计,既满足了现有的功能要求,也考虑到了今后的变化,所以,以后变化的地方实际上加入对位置是留好了的,这才叫不要过度设计。

不要过度的本意是说:你不要太过于超前的去设计,就比方说你现在,本来只需要实现三个功能,就算再考虑上变化,可能也就只需要实现四个五个功能,这就足够了。

但是有些人设计能力很强,他说,我想到了这个功能,今后可能有20种变化,那我要不要把这20种变化,现在全部都做上来呢?当然不要了,如果你把这20种都整上来,这就叫过度的设计。也就是说,你往后多看一两步,多做一两步就行了,你不要说,我能看到十步远,我就把十步全做上来,这个就过度了。

因为,随着业务的变化,你现在看到的,以后并不一定会朝那个方向走,现在做太多了,也没有这个必要。所以不要过度,不是说叫你不设计,而是要去思考更精巧的设计。

相关文章
  • 磁能热水器需要调温度吗?设置几度比较合适?要注意哪些?
    现在市面上的热水器主流类型有:燃气热水器,太阳能热水器,电热水器,空气能热水器,还有最新一代的磁能热水器。最常用和常见的,毫无疑问就是电热水器和燃气热水器。虽然每家每户都有热水器,大家也每天在使用,但我们确实懂得怎么使用吗?就拿热水器的温度来讲,热水器是不是需要调加热温度呢?开多少度比较合适呢?磁能
    2025-01-10 11:46:57
  • 不砸瓷砖修卫生间漏水
    步骤一:确定漏水源在开始维修之前,首先需要确定漏水的具体位置。常见的漏水源包括马桶底部、水龙头、下水管道等。仔细观察和检查,寻找漏水的痕迹或渗漏的水迹。步骤二:关闭水源一旦确定漏水的位置,立即关闭主要的水源,避免进一步的漏水。关闭水源的方法可以根据不同的情况,例如关闭总阀门、关闭漏水设备的独立阀门等
    2025-01-10 11:32:17
  • 带你解密了解空调制冷四大件
    空调产品作为一个已经成熟的设备,已经被我们广泛运用很多年,其中的奥秘除了专业人员,其他普通人,并不了解空调的具体构造和运作原理。如果您长期使用空调或者准备购置空调,不妨抽空了解一下空调制冷的主要构件,能够使空调进行制冷的四大配件是怎么样的呢?一起来看下,空调是怎么制冷的呢?它的工作原理如何?空调制冷
    2025-01-10 11:17:32
  • 空调故障E3?这篇教你几招,自己也能修!
    炎炎夏日,空调成了我们家中不可或缺的好伙伴。然而,有时候我们会遇到一个让人头疼的问题——空调显示屏上突然出现了“E3”的字样。这不仅让人感到困惑,还会带来不便。那么,“E3”到底是什么意思呢?别担心,今天我们就来一起揭开这个神秘的符号背后的意义,并提供一些实用的解决方法。【空调显示E3的原因】室外机
    2025-01-10 11:02:23
  • 热水器一直响的维修过程和步骤
    问题描述热水器一直响的问题可能是由多种原因引起的,下面我们将会一步步解决这个问题。步骤1:检查水压首先,我们需要检查热水器的水压是否正常。过高的水压可能导致热水器一直响,而过低的水压则会导致热水器无法正常工作。您可以使用一个水压计来测量水压,如果水压超过正常范围(通常是0.8-1.2兆帕),则需要调
    2025-01-10 10:47:30