




资源介绍
视频数量:21个
总时长:1小时34分
课程介绍:
SOLID原则——软件架构与设计入门
写代码的时候,你有没有遇到过这样的时刻:刚写完一个功能,测试也通过了,心里挺得意。可过了三个月回头一看,自己写的代码像一团乱麻,改一个地方怕崩三个地方。你甚至开始怀疑,当初那个设计是不是压根就不对。
其实不是你写得不够好,而是你可能缺少一套指导代码结构的原则。
这门课程要讲的SOLID原则,就是解决这种困境的。它不是某种高深莫测的理论,而是面向对象编程里五条最基本的指导思想,由Robert C. Martin整理总结。掌握了这套原则,你的代码会更清晰、更容易修改,也更容易让别人看懂。
课程一共七个章节,总时长一个半小时出头,适合那些已经写过一些代码,但想提升设计能力的开发者。
一、为什么要学SOLID
课程的前两节是导入部分。第一节会告诉你这门课到底讲什么,你能在其中得到什么。第二节会带你快速认识SOLID的全貌,让你先在心里搭起一个框架,知道这五条原则各自管什么、解决什么问题。作者会强调一个很重要的点——这些原则教的是思考方式,不是语法。换句话说,学完之后你不会写出更多花哨的代码,但你会知道什么样的代码是好代码。
二、单一职责原则
第一节正式内容讲的是单一职责原则,简称SRP。它的核心说法很简单:一个类应该只有一个改变的理由。说得更直白一点,一个类只应该负责一件事。
这一章有三节视频加一个小测验。第一节先抛出一个设计上的问题——假如把所有逻辑都堆在一个类里,会发生什么。第二节带你用实战的方式去重构,把混杂的职责拆开。第三节更直接,带着你用Spring Boot从零搭建一个实时用户注册系统,把单一职责原则贯穿到每一行代码里。你会看到哪些类该出现,哪些类不该出现,每个类的边界在哪里。课程配套的资料里还提供了完整的Spring Boot项目代码,你可以下载下来边看边改。
三、开闭原则
接下来是开闭原则,简称OCP。它的意思是:软件实体应该对扩展开放,对修改关闭。听起来有点绕,其实就是在说,当你需要给系统加新功能的时候,最好不要去改已经写好的代码,而是通过新增代码来实现。
这一章的结构和前一章类似——先展示问题,再讲解决思路,最后用一个实战项目来巩固。你会跟着作者一起设计一个通知系统,通知方式包括邮件、短信、WhatsApp。每加一种新的通知渠道,你不需要动原来的代码,只需要新写一个类。这正是开闭原则想让你达到的效果。
四、里氏替换原则
里氏替换原则简称LSP,专门处理继承关系。它的定义是:父类出现的地方,子类必须能无缝替换上去,程序的行为不会出错。
课程里会用一个支付处理的例子来展示这个原则。假设你有一个父类负责处理支付,然后写了子类来支持信用卡、UPI等不同支付方式。如果子类重写了父类的方法,却抛出一个"不支持的操作"异常,那这个设计就违反了里氏替换原则。作者会先带你看看这种坏代码长什么样,再教你怎样改造,让子类真的能替代父类工作。
五、接口隔离原则
接口隔离原则简称ISP,关注的是接口的设计。它的意思是:客户端不应该被迫依赖它用不到的方法。
课程里你会看到一个臃肿的接口,里面塞了一堆方法,而某些实现类根本用不上。然后作者带你把这个大接口拆成几个小接口,每个接口只包含真正被需要的方法。这样做的好处是,类的依赖变少了,改动一个地方不会牵连到别的地方。
六、依赖倒置原则
依赖倒置原则简称DIP,是SOLID里最后一条,也是最容易被误解的一条。它有两个要点:高层模块不应该依赖低层模块,两者都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
这一章内容更多,有五节视频加一个测验。除了讲解设计模式和实战项目,作者还专门花了两节来讲两个相关概念——依赖注入和控制反转。这两个词你在Spring框架里肯定见过,但很多人其实没真正搞明白它们的含义。课程会用清晰的语言把这两个概念讲透,让你理解Spring框架背后的设计思想。最后一节会带你用DIP重构一个完整的应用,把前面学的内容串起来。
七、课程总结
最后一节是课程总结,作者会把五条原则再过一遍,看看它们是怎么互相配合的。每个原则单独看都有道理,但真正厉害的地方在于它们组合在一起形成的力量。学完这一节,你会对SOLID有一个完整的认知框架,而不是零散的知识点。
这门课适合谁呢?如果你已经会用Java或别的面向对象语言写代码,做过几个小项目,但每次写完都觉得代码有点乱,想找一个系统的改进方法,那这门课就是为你准备的。它不太适合完全没写过代码的新手,因为课程里有不少Spring Boot的内容,需要你有一定的Java基础。
学完之后,你不会突然变成架构师,但你会开始有意识地去思考代码的设计——什么时候该拆类,什么时候该用接口,什么时候该让高层和低层解耦。这些判断能力,是从初级开发者走向中高级开发者的分水岭。