Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
上一章讲解了软件设计中主要用到的三个设计模型,本节讲解三个服务。等咱们这次都讲完了再最后进行一次归纳,即:系统开发流程中的三模型、软件设计中的三模型和三个服务,我习惯管这个叫333。看完了您就会知道我为什么常说软件设计这活是朴素的,没那么多弯弯绕,只是因为我们在学习过程中没有做思考和归纳。设计模式的那四个哥们儿不也是根据其经验总结出了流传至今且经久不衰的23个模式(其实常用的也没几个)以及6个原则。这里还是要再多说两句,23个设计模式其实属于代码设计阶段,应该是每个软件工程师必须掌握的一门技术。但,如果是初学者千万别刻意在产品中去用,强拧的瓜不甜,用完了搞不好还被领导骂你傻缺。我个人写代码时间久了,所以遇到一些典型的场景会直接使用某个模式,非典型的一般是在重构时决定是否有合适的模式供使用。另外,还有一些企业级软件的设计模式也需要去学习的,比如:熔断器、IoC、工作单元等。
书归正传,一提到“服务”,您肯定会想:这简单啊,一个类里面没有字段只有方法就可以称其为服务。这样的定义太大且模糊,我们既然要学习设计就把这个东西整细了。也就是要总结一下到底有哪些服务,每个服务的作用是什么,应用于什么场景,这才叫系统化学习。首先一点,服务的定义说白了的确就是“只有方法没有字段的类”,这是使用服务的一种常用模式。也还有一些特别的,比如计数器服务类里面可能有“AtomicLong”类型的字段标识计数值。一般来说,服务顶好是不要包含字段且单例的,即使加了也尽量从技术角度做好并发访问控制;第二,好的服务每个接口都可以提供一个完整的功能;第三,服务主要是用于提供特定的功能,其代码一般是以面向过程为主。
上面对服务进行了一个白话版的定义,精