当前位置: 首页 > news >正文

网站怎么做图片动态安徽省交通运输厅

网站怎么做图片动态,安徽省交通运输厅,诚信通网站怎么做,eclipse做网站在Java中#xff0c;设计模式是用于解决特定上下文中常见问题的最佳实践解决方案#xff0c;广泛用于编写易于维护、扩展和理解的代码。这里我将介绍六种常用的设计模式及其对应的设计原则#xff1a; 1. 单例模式 (Singleton) 设计原则: 确保一个类只有一个实例#xff…在Java中设计模式是用于解决特定上下文中常见问题的最佳实践解决方案广泛用于编写易于维护、扩展和理解的代码。这里我将介绍六种常用的设计模式及其对应的设计原则 1. 单例模式 (Singleton) 设计原则: 确保一个类只有一个实例并提供全局访问点。 应用场景: 当你需要确保系统中只有一个全局对象如配置对象、连接池等时使用。 示例代码: public class Singleton {private static Singleton instance;private Singleton() {}public static synchronized Singleton getInstance() {if (instance null) {instance new Singleton();}return instance;} }2. 工厂方法模式 (Factory Method) 设计原则: 定义一个用于创建对象的接口让子类决定实例化哪一个类。 应用场景: 当创建逻辑变得复杂或者客户端代码需要与产品对象解耦时使用。 示例代码: public interface Product {void use(); }public class ConcreteProductA implements Product {public void use() {System.out.println(Product A used.);} }public class ConcreteProductB implements Product {public void use() {System.out.println(Product B used.);} }public abstract class Creator {public abstract Product factoryMethod(); }public class ConcreteCreatorA extends Creator {Overridepublic Product factoryMethod() {return new ConcreteProductA();} }public class ConcreteCreatorB extends Creator {Overridepublic Product factoryMethod() {return new ConcreteProductB();} }3. 观察者模式 (Observer) 设计原则: 定义对象间的一种一对多的依赖关系当一个对象的状态改变时所有依赖于它的对象都会被自动通知和更新。 应用场景: 当你希望在系统中建立一个触发机制比如用户操作触发某些响应或报告生成等。 示例代码: import java.util.ArrayList; import java.util.List;public interface Observer {void update(); }public class ConcreteObserver implements Observer {public void update() {System.out.println(Observer has been updated.);} }public class Subject {private ListObserver observers new ArrayList();public void addObserver(Observer observer) {observers.add(observer);}public void removeObserver(Observer observer) {observers.remove(observer);}public void notifyObservers() {for (Observer observer : observers) {observer.update();}} }4. 装饰者模式 (Decorator) 设计原则: 对象应对扩展开放但对修改关闭。动态地将责任附加到对象上。若要扩展功能装饰者提供了比继承更有弹性的替代方案。 应用场景: 当你需要给类添加额外功能时并希望在运行时动态地添加这些功能。 示例代码: public interface Component {void operation(); }public class ConcreteComponent implements Component {public void operation() {System.out.println(Concrete Component operation.);} }public abstract class Decorator implements Component {protected Component wrappedComponent;public Decorator(Component comp) {this.wrappedComponent comp;}public void operation() {wrappedComponent.operation();} }public class ConcreteDecoratorA extends Decorator {public ConcreteDecoratorA(Component comp) {super(comp);}public void operation() {super.operation();addedBehavior();}private void addedBehavior() {System.out.println(Concrete Decorator A behavior.);} }5. 策略模式 (Strategy) 设计原则: 定义算法家族分别封装起来让它们之间可以互相替换此模式让算法的变化独立于使用算法的客户。 应用场景: 当你有多种类的算法或业务规则并且这些算法需要在运行时根据不同情况动态更换时使用。 示例代码: public interface Strategy {void execute(); }public class ConcreteStrategyA implements Strategy {public void execute() {System.out.println(Executing strategy A.);} }public class ConcreteStrategyB implements Strategy {public void execute() {System.out.println(Executing strategy B.);} }public class Context {private Strategy strategy;public Context(Strategy strategy) {this.strategy strategy;}public void setStrategy(Strategy strategy) {this.strategy strategy;}public void executeStrategy() {strategy.execute();} }使用策略模式可以方便地更改Context类实例的行为通过为其设置不同的Strategy实现。 6. 适配器模式 (Adapter) 设计原则: 将一个类的接口转换成客户期望的另一个接口。适配器让原本由于接口不兼容而不能一起工作的那些类可以一起工作。 应用场景: 当你希望使用一个已存在的类但其接口并不符合你的需求时你可以创建一个适配器类来间接地适配其接口。 示例代码: // 目标接口 public interface Target {void request(); }// 需要被适配的类 public class Adaptee {public void specificRequest() {System.out.println(Specific request.);} }// 适配器 public class Adapter implements Target {private Adaptee adaptee;public Adapter(Adaptee adaptee) {this.adaptee adaptee;}Overridepublic void request() {adaptee.specificRequest();} }通过适配器模式我们可以使原本因接口不兼容而无法一起工作的类可以一起工作。这种模式通过适配器类Adapter将Adaptee类的接口转换为目标接口Target所期望的形式。 总结 这六种设计模式是Java中常用的模式通过应用这些模式可以提升代码的可维护性、扩展性和灵活性。设计模式遵循的设计原则如开闭原则开放扩展关闭修改、单一职责原则、依赖倒置原则等都是在软件工程中保持代码健康的重要指导原则。掌握并应用这些设计模式和原则有助于成为一名更优秀的软件工程师。
http://www.zqtcl.cn/news/845219/

相关文章:

  • 江西省寻乌县建设局网站广州网站建设一般多少钱
  • 做网站公司郑州郑州的网站建设公司哪家好网站开发word
  • 网页转向功能网站wordpress搭建小说站
  • 北京华夏建设有限公司网站wordpress建站安全吗
  • 怎样做电子商务网站直接通过ip访问网站
  • 白沟17网站一起做网店有啥方法下载wordpress主题
  • 找人做网站毕业设计用于做网站头的图片
  • 黄埔做网站江西省建设工程造价管理局网站
  • 适合网站开发的框架网盘视频直接做网站
  • wordpress菜谱网站网站服务公司
  • 跳转网站代码互联网平台构建怎么写
  • 服务器网站建设维护uemo网站源码
  • 浏览器如何做购物网站百度快照提交入口
  • 网站建设的主要步骤有哪些金华网站建设平台
  • 扁平化网站布局稷山网站制作
  • 做画找图网站包装策划与设计专业
  • 适合大学生做的兼职网站深圳企业名录大全
  • 电脑做网站用什么软件培训心得体会2000字
  • 手机网站开发公司哪家最专业html5商业网站开发北大青鸟
  • 做爰全过程教育网站建筑工程公司名字起名大全
  • 如何作做网站网站建设需要掌握什么技术
  • 广州网站建设推广公司做网站怎么合并单元格
  • 网站建设策划书的编制怎样建网站域名
  • 公司做网站的费用怎么记账网站源码html
  • 网站流量数据东莞松山湖华为招聘信息
  • 跨境电商一站式服务平台wordpress用旧的编辑器
  • 上海外贸网站推广方法爱站关键词
  • 网站页面框架设计企业建设流程
  • 网站做留言板如何推广小程序商城
  • 金融社区类网站建设鞍山58同城招聘网