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

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

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

一:设计的基本技巧

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章
  • 抽油烟机为什么会异响(抽油烟机有异响怎么办)
    在日常生活中,相信大家都有遇到过抽油烟机有异响的情况。那么问题来了,抽油烟机有异响怎么办?油烟机有异响是什么原因呢?接下来,就让我来为大家简单介绍油烟机的相关知识。抽油烟机有异响怎么办1、轴承运转时有吱吱声,通常是轴承无油造成,此时应拆开轴承,并加适量润滑油;2、若出现唧哩声,通常是润滑油干涸或缺油
    2025-04-01 11:19:25
  • 买房为什么不买14层(为什么买房不要选1、2、4、14、18楼?)
    当我们在选择房屋时,楼层是一个重要的考虑因素。不同的楼层有着不同的优缺点,你是否曾经想过,为什么?我们需要结合个人需求、楼房实际情况和周边环境等多种因素进行综合考虑。在本文中,我们将详细介绍不同楼层的优缺点,帮助你做出明智的选择。首先,让我们来了解一下设备层。设备层是专门用于放置建筑设备的楼层,如电
    2025-04-01 09:39:32
  • 萱草为什么叫忘忧草(你知道为什么萱草花是母亲花?)
    萱草被称为母亲花,有着深刻的文化内涵和历史渊源。下面详细介绍一下萱草花被称为母亲花的原因。传统文化中的萱草花在中国传统文化中,萱草花被视为母亲花,因为它具有很多象征意义。《诗经》中有一首诗叫做《萱草》,其中写道:“萱草花开,母亲健在”,表达了对母亲的思念和祝福。在中国古代的绘画和文学作品中,萱草花也
    2025-04-01 07:20:04
  • 卷柏为什么叫还魂草(生于岩石缝内,人称“还魂草”)
    能够在山上生长的野生植物非常多,我就见过节节草、龙葵、牛筋草、瓦松、苘麻、赶黄草、车前草、凤尾蕨、珍珠草、方儿草、虎咬红、再生草等,有些野生植物还有价值,不仅有观赏价值,还有经济价值,长期以来许多价值较高的植物也受到不同程度的破坏,若花友多认识这些珍贵、稀少的植物,那下次遇到的时候也不会随意去踩踏了
    2025-04-01 05:25:29
  • 生产车间为什么要做防静电处理?
    电子厂在上班期间要做防静电处理,如上班期间工人必须要佩戴防静电手环、防静电鞋、防静电服等,特别是无尘车间,上班的员工都要佩戴。那电子厂为什么要做防静电处理?主要是静电对电子产品有很大的伤害。什么是静电静电(Electrostatic):就是物体表面过剩和不足的静止电荷,静电是一种电能,它留存与物体表
    2025-04-01 02:21:39