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

大学生做网站怎么赚钱北京网线多少钱一年

大学生做网站怎么赚钱,北京网线多少钱一年,百度做网站需要多少钱,长沙百度首页优化排名1 你知道设计模式的命令模式吗 是的#xff0c;我知道设计模式中的命令模式。命令模式是一种行为型设计模式#xff0c;它将请求封装成一个对象#xff0c;从而允许使用不同的请求、队列或日志来参数化其他对象。命令模式还支持撤销操作#xff0c;并且可以提供事务的实现…1 你知道设计模式的命令模式吗 是的我知道设计模式中的命令模式。命令模式是一种行为型设计模式它将请求封装成一个对象从而允许使用不同的请求、队列或日志来参数化其他对象。命令模式还支持撤销操作并且可以提供事务的实现。 在命令模式中有四个主要的参与对象命令接口Command、具体命令ConcreteCommand、命令发起者Invoker和命令执行者Receiver。命令接口充当了命令的抽象并声明了执行命令的方法。具体命令实现了命令接口并具体实现了命令的执行逻辑。命令发起者持有一个命令对象并可以调用命令对象的执行方法从而触发命令的执行。命令执行者实际执行命令的操作。 命令模式的优点包括解耦命令发起者和命令执行者、简化命令的撤销和重做、支持事务等。它可以帮助我们将请求和执行解耦并且可以提供更好的灵活性和可扩展性。 2 命令模式有几种形式 命令模式主要有三种形式简单命令模式、宏命令模式和撤销操作命令模式。 简单命令模式Simple Command Pattern简单命令模式是命令模式最基本的形式。它只包含一个命令接口和多个具体命令类。每个具体命令类都实现了命令接口并实现了自己的执行逻辑。命令发起者只需要持有一个命令接口的引用并通过调用命令接口的方法来触发命令的执行。 宏命令模式Macro Command Pattern宏命令模式将多个命令封装为一个宏命令从而实现一次性执行多个命令。宏命令本身也是一个具体命令它持有多个其他具体命令的引用并在执行时依次调用这些命令的执行方法。宏命令模式可以将多个原子操作组合成一个更高级的操作。 撤销操作命令模式Undo Command Pattern撤销操作命令模式在简单命令模式的基础上加入了撤销操作的支持。每个具体命令类都需要提供一个撤销方法在调用撤销方法时可以回滚该命令的执行。撤销操作命令模式可以用于实现撤销和重做功能使得用户可以取消一系列操作的执行。 这些形式不是互斥的可以根据具体的需求和场景选择适合的命令模式形式。 3 请你用java写一个简单命令模式具体的例子 当然可以下面是一个简单的Java代码示例演示了简单命令模式的实现 // 定义命令接口 interface Command {void execute(); }// 具体命令类 class ConcreteCommand implements Command {private Receiver receiver;public ConcreteCommand(Receiver receiver) {this.receiver receiver;}// 实现命令接口的执行方法public void execute() {receiver.action();} }// 接收者类 class Receiver {public void action() {System.out.println(Receiver执行命令);} }// 命令发起者类 class Invoker {private Command command;public void setCommand(Command command) {this.command command;}public void executeCommand() {command.execute();} }// 客户端代码 public class Client {public static void main(String[] args) {// 创建接收者对象Receiver receiver new Receiver();// 创建具体命令对象并将接收者传递给它Command command new ConcreteCommand(receiver);// 创建命令发起者对象并设置命令对象Invoker invoker new Invoker();invoker.setCommand(command);// 执行命令invoker.executeCommand();} }在上面的示例中Command接口定义了命令的执行方法execute()。具体命令类ConcreteCommand实现了Command接口并在execute()方法中调用了接收者对象的action()方法执行具体的命令操作。命令发起者类Invoker持有一个Command对象并在executeCommand()方法中调用命令对象的execute()方法来触发命令的执行。 运行以上代码输出结果为 Receiver执行命令这表明成功执行了命令模式命令发起者通过调用命令对象的方法将命令传递给接收者并执行了相关操作。 4 你这个例子还是太抽象了请举一个生活中具体的例子 当然让我们来看一个更具生活化的例子——简单命令模式在餐厅点餐系统中的应用。 首先我们定义一个命令接口Order其中包含了一个执行命令的方法execute() public interface Order {void execute(); }然后我们实现具体的命令类比如CookOrder、ServeOrder和CancelOrder public class CookOrder implements Order {private Chef chef;public CookOrder(Chef chef) {this.chef chef;}public void execute() {chef.cook();} }public class ServeOrder implements Order {private Waiter waiter;public ServeOrder(Waiter waiter) {this.waiter waiter;}public void execute() {waiter.serve();} }public class CancelOrder implements Order {private Cashier cashier;public CancelOrder(Cashier cashier) {this.cashier cashier;}public void execute() {cashier.cancel();} }在这个例子中CookOrder是具体的烹饪命令ServeOrder是具体的上菜命令CancelOrder是具体的取消订单命令。 接下来我们定义几个接收者类比如Chef、Waiter和Cashier它们都具有相应的操作 public class Chef {public void cook() {System.out.println(厨师正在烹饪订单...);} }public class Waiter {public void serve() {System.out.println(服务员正在上菜...);} }public class Cashier {public void cancel() {System.out.println(收银员正在取消订单...);} }最后我们定义命令发起者类OrderInvoker它持有一个Order对象并在调用execute()方法时触发命令的执行 public class OrderInvoker {private Order order;public OrderInvoker(Order order) {this.order order;}public void executeOrder() {order.execute();} }现在我们可以使用上述类来模拟餐厅点餐的场景。例如在点餐系统中当一个顾客确定要点餐后服务员会将顾客的订单交给厨师并通知收银员进行结算 public class RestaurantClient {public static void main(String[] args) {Chef chef new Chef();Waiter waiter new Waiter();Cashier cashier new Cashier();Order cookOrder new CookOrder(chef);Order serveOrder new ServeOrder(waiter);Order cancelOrder new CancelOrder(cashier);OrderInvoker invoker new OrderInvoker(cookOrder);invoker.executeOrder();invoker new OrderInvoker(serveOrder);invoker.executeOrder();invoker new OrderInvoker(cancelOrder);invoker.executeOrder();} }当我们运行以上代码时控制台将会输出 厨师正在烹饪订单... 服务员正在上菜... 收银员正在取消订单...这个例子中顾客点餐后服务员将不同的订单给相应的接收者厨师、服务员和收银员通过简单命令模式实现了对不同操作的封装和执行。
http://www.hkea.cn/news/14341471/

相关文章:

  • 普洱建设工程网站做网站花都
  • 深圳网站建设与推广最好看免费观看高清大全英雄联盟
  • 网站开发安卓开发自己怎么开网店的步骤
  • 汽车电子商务网站建设网站的请求服务做优先级
  • 成都建设网站制作常德网络建站
  • 南阳教育论坛网站建设销售计划方案怎么写
  • 网站建设的行业代码是多少钱网络推广岗位职责和任职要求
  • 网站建设个人网站网站项目规划与设计方案
  • 网站校园推广案例网页设计茶叶网站建设
  • 怎么查看网站的点击率网站优化营销
  • 注册网站安全吗wordpress支付界面出现500
  • 哪个网站可以做私单做简历好的网站
  • 网站建设氺首选金手指12网络营销服务的内容
  • 亦庄专业网站开发公司wordpress技术文章
  • 筑巢网站建设网站建设中 模板素材
  • 齐鲁建设网站网站建设的几大要素
  • wordpress快递模板下载常州网站排名优化
  • 品牌建设方案和思路辽源seo
  • 郑州网站设计制作wordpress+登录页加密
  • 做网站软件排名网站说明页命名
  • 网站建设会遇到哪些问题石家庄网页定制开发
  • 制作网站的过程细节网站域名所有权 查询
  • 怎么给网站做网站地图教务系统登录入口
  • 南头专业外贸网站建设公司苏州网站制作专业
  • wordpress 外贸建站cms建站是什么
  • 哪些网站做面试题课外辅导东莞网站建设技术支持
  • 做网站建设的怎么寻找客户网站建设合同缴印花税
  • 如何做外卖网站app唐山网站建设培训
  • tp5被黑做的网站全变成首页专业SEO教程网站
  • 网站建设的小结宁波seo在线优化方案公司