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

顺德大良营销网站建设档案信息网站建设遵循什么原则

顺德大良营销网站建设,档案信息网站建设遵循什么原则,手机微信的网站案例,网站策划书优势怎么分析题型及分值#xff1a; 选择 30 分#xff0c;填空 20 分#xff0c; 判断 10 分#xff0c;简答 20 分#xff0c;综合设计 20 分。 文章目录 三、行为型模式1. 命令模式2. 迭代器模式3. 观察者模式4. 状态模式5. 策略模式 三、行为型模式 1. 命令模式 举个例子#x… 题型及分值 选择 30 分填空 20 分 判断 10 分简答 20 分综合设计 20 分。 文章目录 三、行为型模式1. 命令模式2. 迭代器模式3. 观察者模式4. 状态模式5. 策略模式 三、行为型模式 1. 命令模式 举个例子总经理要向公司的所有员工传达一些命令但他不可能亲自去通知所有人而是先把要吩咐的话通知给各部门负责人再由各部门的负责人去向下传达指令总经理和具体的员工之间是没有直接交流的这就是命令模式。 将一个请求封装为一个对象从而让你可以用不同的请求对客户迚行参数化对请求排队戒者记录请求日志以及支持可撤销的操作。 整体结构 ① 一个抽象命令类内置公共命令方法 ② 数个具体命令类重写父类的命令方法并在里面调用接收者的接收方法 ③ 数个接收类内置具体的接收方法 ④ 数个调用者类即命令类与接收类的桥梁通过带参构造方法传入命令类自定义 call 方法里面调用命令类的命令方法。 public public abstract class Command {public abstract void execute( ); }public class ConcreteCommand extends Command {private Receiver receiver; //维持一个对请求接收者对象的引用public void execute() {receiver.action( ); //调用请求接收者的业务处理方法action( )} }public class Receiver {public void action( ) {//具体操作} }public class Invoker {private Command command;public Invoker(Command command) {this.command command;}public void setCommand(Command command) {this.command command;} public void call() {command.execute( );} }2. 迭代器模式 迭代器模式顾名思义它就是用来访问聚合对象的对于遥控器和电视机此时遥控器就是一个迭代器而电视机就是它所对应的聚合对象人们根本不需要关心这些频道是如何存储到电视里面的他们只知道如何去用就可以了。为了拓展方便需要定义一个抽象迭代器和一个抽象聚合类在具体的聚合类中自然要调用迭代器中的方法去进行电视台的迭代这里可以按照课本上的方法将具体的迭代器类作为具体聚合类的内部类就是说我们不必要再去创建具体的迭代器类了但全部功能都放在具体聚合类中有违开闭原则因为迭代器也可能增加新的功能所以也可以直接创一个具体迭代器类在聚合类中直接传参并调用具体迭代器类即可。 迭代器用于对一个聚合对象进行遍历。通过引入迭代器可以将数据的遍历功能从聚合对象中分离出来聚合对象只负责存储数据而遍历数据由迭代器来完成。 整体结构 ① 一个抽象迭代器类 ②一个具体迭代器类遥控器内置正、逆遍历方法及一些判断开始和结尾的方法 ③ 一个抽象聚合类 ④ 数个具体聚合类不同的电视机内置频道及创建迭代器的方法。 public interface TVIterator {void next();void previous();boolean isFirst();boolean isLast();//设置电视台void setChannel(int i);//返回当前电视台Object currentChannel();}public class TVIteratorImpl implements TVIterator {Object[] obj;private int currentIndex 0;public TVIteratorImpl(Object[] obj) {this.obj obj;}Overridepublic void next() {if (currentIndex obj.length) {currentIndex;}}Overridepublic void previous() {if (currentIndex 0) {currentIndex--;}}Overridepublic boolean isFirst() {return currentIndex 0;}Overridepublic boolean isLast() {return currentIndex obj.length;}Overridepublic void setChannel(int i) {currentIndex i;}Overridepublic Object currentChannel() {return obj[currentIndex];}}public interface Television {TVIterator createIterator(); }public class HuaWeiTelevision implements Television {Object[] obj {少儿频道, 中央卫视, 山西卫视, 湖南卫视, 电影频道, 江西卫视, 青海卫视};Overridepublic TVIterator createIterator() {return new TVIteratorImpl(obj);}}3. 观察者模式 一个对象的状态或行为的变化将导致其他对象的状态或行为也发生改变它们之间将产生联劢。 还是以实验内容为例股民观察股票价格动荡从而做出反应。一个对象的改变将导致一个或多个其他对象发生改变并且不知道具体有多少对象将发生改变也不知道这些对象是谁。解决办法在系统中创建一个触发链。一个目标可以有很多的观察者在目标类中添加方法实现对观察者的增加和删除同时目标类是要发出警告消息的提供一个notify方法用于通知每一个观察者这里发出一个警告所有的观察者都必须对此警告作为相应的反应实现方式是遍历观察者集合并调用其update方法观察者类中的update方法就是观察者收到警告后做出的反应。 观察者模式定义对象间的一种一对多依赖关系使得每当一个对象状态发生改变时其相关依赖对象皆得到通知并被自动更新。 整体结构 ① 一个目标类内置添加或删除观察者的方法所有的观察者都被放在一个集合里面再写一个通知方法里面遍历集合中所有的观察者并调用它们各自的 upDate 方法当外部调用通知方法的时候就相当于把通知传达给了各观察者 ② 一个抽象观察者类提供 update 方法 ③ 数个观察者类重写抽象观察者中的方法当面对一个通知的时候所应该做出的反应。 import java.util.ArrayList;public class Stock {private String StockName;private int price;ArrayListInvestor investors new ArrayList();public void attach(Investor investor) {investors.add(investor);}public void detach(Investor investor) {investors.remove(investor);}public String getStockName() {return StockName;}public void setStockName(String stockName) {StockName stockName;}public int getPrice() {return price;}public void setPrice(int price) {this.price price;}public void notifyInvestor() {System.out.println(\n通知 StockName 股票价格变化幅度已达 5%最新价格为 price 。);System.out.println(*******************************************************************\n);for (Investor i : investors) {i.upDate();}}}public abstract class Investor {public abstract void upDate(); }public class ConcreteInvestor1 extends Investor {Overridepublic void upDate() {System.out.println(股民1怎么又变了我真的会谢哦~);} }public class ConcreteInvestor2 extends Investor {Overridepublic void upDate() {System.out.println(股民2变得好正好不想买了~);} }public class ConcreteInvestor3 extends Investor {Overridepublic void upDate() {System.out.println(股民3无欲无求乃人生最大的乐趣~);} }4. 状态模式 该模式不太重要又难所以我们不用硬看这个状态模式。 状态模式允许一个对象在其内部状态改变时改变它的行为对象看起来似乎修改了它的类。 整体结构 ① 一个抽象状态类 ② 数个具体状态类 ③ 数个环境类。 public class Context {private State state; //维持一个对抽象状态对象的引用private int value; //其他属性值其变化可能会导致对象的状态变化public void setState(State state) {this.state state;}public void request() {state.handle( ); //调用状态对象的业务方法} }5. 策略模式 策略模式中包含策略类和环境类。具体策略类可以有很多继承至抽象策略类环境类其实是使用策略的角色在环境类中维护一个对抽象策略类的引用实例用于定义所采用的策略。在测试类中给环境类传入具体策略参数继而在环境类中调用具体策略类的处理方法最后在控制台输出结果。 策略模式定义一系列算法将每一个算法封装起来并让它们可以相互替换。实现某个目标的途径不止一条可根据实际情况选择一条合适的途径。 整体结构 ① 一个抽象策略类 ② 数个具体策略类重写抽象方法 ③ 一个环境类客户端传入一种策略由环境类来调用具体的策略方法。 public interface TravelStrategy {void travel(); }public class AirplaneStrategy implements TravelStrategy {Overridepublic void travel() {System.out.println(飞机旅行);} }public class TrainStrategy implements TravelStrategy {Overridepublic void travel() {System.out.println(火车旅行);} }public class Person {private TravelStrategy strategy;public void setStrategy(TravelStrategy strategy) {this.strategy strategy;}public void travel() {strategy.travel();}}
http://www.dnsts.com.cn/news/50332.html

相关文章:

  • 帮他人做视频网站违法吗上海网站建设服务框架
  • 网站建设的渠道策略宝塔wordpress经常502
  • 业务员自己做网站招聘网站如何做运营
  • 百度指数代表什么意思优化wordpress搜索结果
  • 网站跳出率多少合适温州市住房和城乡建设网站
  • 网站开发执行什么标准号成都网站建设询q479185700上快
  • 1000套网站源码企业网站推广的方法有什么
  • 怎么把自己做的网站发布出去公司域名注册流程
  • 股权变更要在工商局网站做吗wordpress logo 太小
  • 做网站的eclipwordpress文章自定义类型分页
  • 网页游戏网站斗地主杭州高端网建
  • 国家建设部网站证书查询建筑管理招聘网
  • 团购网站seo怎样暂停域名指向网站
  • 单页网站 挣钱wordpress 动态背景
  • Html5做旅游网站的设计思路论坛类型的网站怎么做
  • 网站服务器多少钱一年找人做个小程序多少钱
  • 在线网页游戏网站网站建设项目报价清单
  • 安徽建设厅网站打不开自己做一个音乐网站怎么做
  • 德州网站建设公司山东金融行业网站开发
  • 产品设计网站官网公司装修效果全景图
  • 怎么做类似返利网的网站西安网站关键词优化
  • 网站建设需要注意哪些关键细节2345浏览器主页
  • 做pc端网站一般多少钱网站怎么做域名跳转
  • 南昌装修网站建设网站建设第一品牌
  • 网站栏目设计模板成都专业网站排名推广
  • 龙岩做网站开发哪家公司好微网站建设方案财政
  • 无锡建站模板系统德宏北京网站建设
  • 东莞网站优化推广方案大连开发区邮编
  • 平台和网站有什么区别苏州十大软件公司招聘
  • 10个免费货源网站免费拓客软件哪个好用