js网站分页怎么做后台控制网站关键词设置的详细代码
2026/4/18 9:31:06 网站建设 项目流程
js网站分页怎么做,后台控制网站关键词设置的详细代码,免费发帖推广的平台,门户网站平台建设方案以下是24 种 Java 设计模式的完整分类及说明#xff08;按创建型、结构型、行为型三大类划分#xff09;#xff1a;一、创建型模式#xff08;6 种#xff09;#xff1a;负责对象的创建#xff0c;隐藏创建细节创建型模式关注如何灵活、安全地创建对象#xff0c;避免…以下是24 种 Java 设计模式的完整分类及说明按创建型、结构型、行为型三大类划分一、创建型模式6 种负责对象的创建隐藏创建细节创建型模式关注如何灵活、安全地创建对象避免直接使用new关键字提高代码的可维护性和扩展性。简单工厂模式Simple Factory​核心通过一个静态工厂类根据参数返回不同产品的实例如Integer.valueOf()。应用场景产品种类少且稳定如日志工具、配置管理器。特点集中管理创建逻辑但新增产品需修改工厂类违反开闭原则。工厂方法模式Factory Method​核心定义创建对象的接口由子类决定实例化哪个类如JDBC的DriverManager.getConnection()。应用场景需要灵活扩展产品类型如数据库驱动、日志框架。特点符合开闭原则新增产品只需添加工厂子类。抽象工厂模式Abstract Factory​核心提供一个接口用于创建一系列相关或依赖对象的家族如Swing的LookAndFeel工厂。应用场景需要创建产品族如不同操作系统的 UI 组件Windows/Mac 按钮文本框。特点确保产品族的一致性但扩展新产品族需修改抽象工厂接口违反开闭原则。单例模式Singleton​核心确保一个类仅有一个实例并提供全局唯一访问点如Spring的BeanFactory、配置管理器。应用场景需要全局唯一实例的对象如数据库连接池、缓存。特点线程安全双重检查锁定、静态内部类、延迟初始化。建造者模式Builder​核心将复杂对象的构建与表示分离通过指挥者Director控制构建过程如StringBuilder、HttpRequest.builder()。应用场景构建参数众多的对象如 HTTP 请求、配置文件。特点支持链式调用隐藏构建细节。原型模式Prototype​核心通过复制现有对象原型创建新对象如Java的clone()方法、BeanUtils.copyProperties()。应用场景对象创建成本高如数据库查询结果、配置对象或需要大量相似对象如游戏中的精灵。特点避免重复初始化分为浅拷贝复制引用和深拷贝复制对象本身。二、结构型模式7 种负责类或对象的组合形成更大的结构结构型模式关注如何将类或对象组合成更灵活的结构解决类之间的耦合问题。适配器模式Adapter​核心将一个类的接口转换成客户端期望的另一个接口如Java的InputStreamReader字节流→字符流、第三方库适配。应用场景集成第三方库如Redis客户端的JedisAdapter、兼容旧系统。特点对象适配器组合推荐 vs 类适配器继承不推荐。桥接模式Bridge​核心将抽象部分与实现部分分离使它们可独立变化如Java的AWT抽象窗口工具包、JDBC驱动。应用场景多维度变化如不同形状的按钮、不同数据库的连接。特点避免子类爆炸如WindowsButton、MacButton、LinuxButton提高扩展性。组合模式Composite​核心将对象组合成树形结构以表示“部分-整体”层次如Java的File类、UI控件树。应用场景树形结构如文件系统、菜单、组织架构。特点统一接口Component支持递归遍历如File.listFiles()。装饰器模式Decorator​核心动态地给对象添加职责而不影响其他对象如Java的IO流BufferedInputStream、DataInputStream、Spring的Transactional。应用场景功能扩展如给咖啡加牛奶、糖给方法加日志、事务。特点比继承更灵活支持叠加装饰如BufferedInputStream(FileInputStream)。外观模式Facade​核心为子系统提供统一的高层接口简化客户端使用如Java的JDBCDriverManager.getConnection()、Spring的ApplicationContext。应用场景复杂库的简化如Hibernate的Session、微服务网关。特点不封装子系统仅提供便捷入口。享元模式Flyweight​核心通过共享技术有效支持大量细粒度对象如Java的String常量池、Integer缓存-128~127。应用场景对象创建代价高如文本编辑器中的字符、游戏中的子弹/粒子。特点分离内在状态可共享如字符编码和外在状态不可共享如字符位置。代理模式Proxy​核心为其他对象提供代理以控制对该对象的访问如Java的动态代理JDK、CGLIB、Spring的AOP。应用场景远程代理RPC调用、虚拟代理延迟加载如图片缩略图、保护代理权限控制、智能引用引用计数、日志。特点静态代理需实现相同接口 vs 动态代理无需实现接口更灵活。三、行为型模式11 种负责对象之间的交互及算法分配行为型模式关注对象之间的通讯和职责分配解决对象之间的耦合问题。责任链模式Chain of Responsibility​核心使多个对象有机会处理请求避免请求发送者与接收者耦合如Java的Servlet过滤器、Spring的Interceptor、审批流程。应用场景请求处理链如日志过滤、权限校验、工作流。特点每个处理器持有下一个处理器的引用支持动态调整处理顺序。命令模式Command​核心将请求封装为对象使你可以参数化客户、队列请求、记录日志、支持撤销如Java的Runnable、Spring的JdbcTemplate。应用场景命令队列如任务调度、撤销/重做如文本编辑器、远程调用如RPC。特点分离调用者Invoker与执行者Receiver支持命令的持久化和回滚。解释器模式Interpreter​核心定义语言文法并解释该语言中的句子如Java的正则表达式引擎、SQL解析器、规则引擎。应用场景需要解释特定语言的场景如数学表达式、配置文件。特点文法规则终结符/非终结符表达式、上下文存储解释状态。迭代器模式Iterator​核心提供一种方法顺序访问聚合对象的元素而不暴露其内部表示如Java的Iterable、Iterator、List/Set的遍历。应用场景需要遍历集合对象的场景如ArrayList、HashSet、TreeMap。特点支持多种遍历方式正向、反向、层级隐藏集合的内部结构。中介者模式Mediator​核心用一个中介对象封装一系列对象交互降低耦合如Java的ChatRoom、GUI组件协调、航空管制。应用场景对象之间需要频繁交互如聊天室、多人游戏、工作流引擎。特点中介者持有所有对象的引用统一处理交互逻辑。备忘录模式Memento​核心在不破坏封装性的前提下捕获并外部化对象内部状态以便恢复如Java的ThreadLocal、Spring的TransactionSynchronization。应用场景撤销操作CtrlZ、游戏存档、事务回滚。特点备忘录Memento存储对象状态管理者Caretaker保管备忘录原对象Originator恢复状态。观察者模式Observer​核心定义对象间一对多的依赖当对象改变状态时所有依赖者自动更新如Java的Observable/Observer、Spring的ApplicationEvent、事件总线。应用场景事件驱动如按钮点击、消息订阅、发布-订阅Pub/Sub。特点主题Subject维护观察者列表观察者Observer实现更新方法。状态模式State​核心允许对象在其内部状态改变时改变其行为如Java的Thread状态新建、运行、阻塞、TCP连接状态建立、传输、关闭。应用场景对象状态变化影响行为如订单状态待支付、已支付、已发货、游戏角色状态正常、眩晕、死亡。特点状态接口State定义行为上下文Context委托给当前状态。策略模式Strategy​核心定义一系列算法把它们封装起来并使它们可互相替换如Java的Comparator、Spring的Resource、支付方式支付宝、微信、银行卡。应用场景算法切换如排序算法冒泡、快速、归并、折扣策略8折、满减、优惠券。特点策略接口Strategy定义算法上下文Context持有策略引用。模板方法模式Template Method​核心定义算法骨架将一些步骤延迟到子类如Java的HttpServletdoGet()/doPost()、JUnit测试生命周期setUp()/tearDown()。应用场景算法步骤固定部分步骤可自定义如文档生成、数据处理流程。特点模板方法templateMethod()定义骨架钩子方法primitiveOperation()允许子类扩展。访问者模式Visitor​核心表示一个作用于某对象结构中各元素的操作可在不改变元素类的前提下定义新操作如Java的AST抽象语法树遍历、报表生成。应用场景需要添加新操作但不想修改元素类如编译器的语法分析、数据结构的遍历。特点元素Element接受访问者Visitor访问者实现操作方法。四、补充说明24 种设计模式的来源GoF 23 种由 Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 四位作者在《设计模式可复用面向对象软件的基础》1994 年一书中提出是设计模式的经典集合。第 24 种简单工厂模式部分资料将其补充为第 24 种因它是工厂方法模式的简化版更常用如Integer.valueOf()、LoggerFactory.getLogger()。五、设计模式的最佳实践遵循 SOLID 原则尤其是开闭原则对扩展开放对修改关闭、单一职责原则一个类只负责一项职责。避免过度设计不要为了使用设计模式而使用需根据实际场景选择如简单场景无需用抽象工厂模式。结合框架使用Spring、MyBatis等框架已大量使用设计模式如Spring的IOC工厂模式、AOP代理模式、MVC模板方法模式学习框架源码可加深对设计模式的理解。通过以上 24 种设计模式的分类及说明可覆盖 Java 开发中大部分常见场景提高代码的可维护性、可扩展性和可读性。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询