96SEO 2026-02-19 09:13 0
。

在学习设计模式之前#xff0c;需要首先学习UML#xff08;Unified
Language#xff0c;统一建模语言设计模式Design
Pattern对于软件开发简单来说就是软件开发的套路固定模板。
在学习设计模式之前需要首先学习UMLUnified
设计模式在代码开发之前先需要使用设计图的方式表现出来UML是生产设计图的语言也就是模型语言。
UML的结构有视图View、图Diagram、模型元素Model
Mechanism这里不做过深的介绍只介绍类图和类之间的关系。
类名Teacher属性nameString、ageint默认值是0、genderString方法setAge(int
其中属性和方法前面的符号分别表示可见性公有public、私有private、受保护protected分别用“”、“-”、“#”来表示在Java中还有一种包内可见性package使用“*”来表示。
其他内容不变类名上面加两个尖括号包裹的interface也有在类名左上角使用一个类似圆形取卡针标志来表示的如下
关联指类与类之间存在联系可分为双向关联、单向关联、自关联、多重性关联、聚合和组合如下
如下表示一个按钮Button只能属于一个表单Form是一对一的关系而一个表单可以有0个或多个按钮
例如汽车Car与发动机Engine发动机是汽车的组成部分可以独立于汽车存在并不依赖于汽车
例如头Head与眼睛Eye眼睛是头的组成部分但是眼睛不能单独出来头没有了眼睛也就没有了
例如驾驶员Driver与车Car的关系驾驶员依赖于车没有车就无法使用驾驶方法
泛化关系就是继承关系如下学生类Student和教师类Teacher继承于人类Person
实现关系顾名思义如下船Ship与车Car实现于交通工具接口Vehicle并实现其移动方法move
在我手边的《设计模式》第二版清华大学出版社第5页刘伟主编中作者引用了Martin
diagrams.”“如果有人在黑暗的小巷中向你走来并对你说嘿想不想看一张UML图那么这张图很有可能就是一张类图我所见过的大部分的UML图都是类图”
单一职责原则定义一个对象应该只包含单一的职责并且该职责被完整地封装在一个类中。
简单来说就是一个类应该只干一件事。
例如在没有三层架构前一个请求从接收、分析、处理都在一个类里完成无论这个请求的哪一个环节发生了改变都需要修改代码可维护性差代码耦合高。
就是说后面如果需要新增需求可以在不修改源码的基础上对系统扩展。
举个例子一个管理系统的界面有许多的记录许多筛选项最开始记录的字段少筛选项也少后面字段越来越多需要新增一些筛选条件。
不符合开闭原则的做法对DTO对象不断地新增筛选项name姓名、age年龄、createTime创建时间……
符合开闭原则的做法在DTO对象里定义一个Map对象conditions用于接收前端传递的条件参数。
这样无论后面新增多少个筛选条件实体类都不需要修改只需要在Mapper.xml里面新增筛选字段conditions.字段名的查询条件即可
里氏代换原则可以通俗表述为在软件中如果能够使用基类父类对象的地方那么一定能够使用其子类对象。
依赖倒转原则定义高层模块不应该依赖底层模块他们都应该依赖抽象。
抽象不应该依赖细节细节应该依赖于抽象。
就是说对于接口应该尽可能细化而不是把一堆接口放到到一个大接口里面。
如接口A表示飞行接口B表示跳跃接口C表示鸣叫虽然这三个特性麻雀完全符合但是不能把这三个接口合并到一个接口D中然后让麻雀来实现而是应该隔离开让具备某种能力的类实现指定的接口。
简单来说就是类之间的关系少用继承尽量使用接口实现或者依赖注入的方式。
例如有一个面试题如何解决ArrayList线程不安全的问题我所知道的有以下5个方法
2使用Collections.synchronizedList()
3定义一个类MyArrayList继承ArrayList重写其方法每个方法用synchronized修饰
4定义一个类MyArrayList类里面定义一个ArrayList自定义List的增删改查方法用synchronized修饰方法里面调用ArrayList对应的方法
重点是第三个、第四个方法的对比前者是继承需要重写父类的方法后者是设值注入调用ArrayList的方法显然后者更加灵活。
迪米特法则又称最少知识原则原则简单来说就是指一个软件实体应当尽可能少地与其他实体发生相互作用。
这样当一个模块修改时就会尽量少地影响其他的模块。
本篇文章内容基本来自《设计模式》第2版清华大学出版社刘伟主编第1、2章
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback