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

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

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

一:设计的基本技巧

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章
  • 男女关系不正常的征兆表现(异性关系,不正常的三个表现,男女都别装了)
    异性关系,如果变得不正常了,肯定会有很多异常的表现,根本就藏不住。比如,男女私下来往频繁,喜欢说暧昧的话语,甚至有肢体上的接触,等等。这些都是关系暧昧的表现,就算双方不承认,但外人一眼就可以看出来,骗不了人。现实中,有些男女在交往时,没有分寸感,总是打着友情的借口玩暧昧,这是非常不理智的行为。一旦关
    2025-08-13 03:46:26
  • 非常唯美的生日祝福语短句(送给在夏天过生日的你们)
    打翻了六月夏,溅起一地水花暮色迟捱,浸透了枝桠,荡漾着,青涩的透明的年华。止不住的蝉鸣簇拥着盛夏,肆意且不觉喧哗,薄荷与冰块碰撞出火花,独属于少年的热烈也在此刻迸发。让我们一起祝福夏天出生的你们,生于盛夏,长于盛夏,生辰快乐,百事从欢,岁岁欢愉,一生繁华!01夏日炎炎,庆生之刻,与夏同欢。02在夏天
    2025-08-13 00:22:05
  • 如何撩妹聊天刚认识的女生(6个反面教材,3个正确的撩妹方法)
    不会聊天一直都是很多同学追女生过程中最大的问题,不知道聊什么,聊着聊着气氛就变尴尬了,聊着聊着女生就不回复消息了。我知道你肯定遇到过这样的问题,最近也有很多兄弟私聊我,所以我们今天就来聊一聊刚加女生微信应该如何聊天!首先我们先来看一些反面教材,看看大家平日里和女生聊天常犯的错误。1、查户口这是一个老
    2025-08-12 05:36:10
  • 男人面对感情犹豫不定说明了什么(男人越犹豫,越说明他不爱你)
    爱情面前,人的智商往往是零。很多女人都容易被感动,她们只要爱了,就会为自己的爱情全力以赴,奋不顾身。然而,往往女人越是恋爱脑,就越容易受伤。这个世界,人心难测,真爱难寻,两个人在一起,怕的就是伪装和辜负。所以,对于一个假装爱你的男人,一定要仔细识别。那么,怎样才能够辨清男人是否在假装爱你呢?其实,有
    2025-08-12 00:04:00
  • 让自己变得更好方法(做对六件事,让自己越来越好)
    大家好,我是一名退休九年的老人,今年55岁。退休后,我最大的感悟就是,身体是革命的本钱。为了拥有一个健康的身体,我做对了六件事,让自己的身体状态越来越好,心情也越来越愉悦。今天,我就来和大家分享一下我的心得体会。第一件事,就是坚持运动。我每天早上六点起床,去公园散步,走上一个小时。遇到天气不好的时候
    2025-08-11 09:38:34