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

外网访问不了内网建设的网站网站建设框架编写目的

外网访问不了内网建设的网站,网站建设框架编写目的,网站数据库修改密码要怎么做,做.net网站流程说明#xff1a;本文介绍设计模式中#xff0c;创建型设计模式的抽象工厂设计模式#xff1b; 工厂模式的问题 在【设计模式-2.2】创建型——简单工厂和工厂模式这篇博文中#xff0c;介绍过飞机大战游戏里#xff0c;使用简单工厂和工厂模式来创建坦克、飞机、Boss对象…说明本文介绍设计模式中创建型设计模式的抽象工厂设计模式 工厂模式的问题 在【设计模式-2.2】创建型——简单工厂和工厂模式这篇博文中介绍过飞机大战游戏里使用简单工厂和工厂模式来创建坦克、飞机、Boss对象。 如果对象的类型过多我们就需要创建更多的工厂类并且如果我们需要对对象进行分类如按照等级分类坦克、飞机属于低等敌人Boss属于高等敌人按照战斗场景分类坦克属于陆地飞机属于天空Boss可在陆地或者天空。 这就需要我们对现有的工厂类进一步抽取抽象。 抽象工厂模式 在《秒懂设计模式》这本书中提供了一种使用场景。如下 作者假设某公司需要开发一款星际战争的游戏游戏中兵种可分为人类与外星怪兽2个族其中每个族又可分为1级、2级和3级不同等级的兵种攻击力、防御力和生命值不同 兵种接口 /*** 兵种抽象类*/ public abstract class Unit {/*** 攻击力*/protected int attack;/*** 防御力*/protected int defence;/*** 生命值*/protected int health;/*** 横坐标*/protected int x;/*** 纵坐标*/protected int y;public Unit(int attack, int defence, int health, int x, int y) {this.attack attack;this.defence defence;this.health health;this.x x;this.y y;}/*** 出现*/public abstract void show();/*** 攻击*/public abstract void attack(); }低级兵种 /*** 低级兵种*/ public abstract class LowClassUnit extends Unit{/*** 低级兵种* param x* param y*/public LowClassUnit(int x, int y) {super(5, 2, 35, x, y);} }中级兵种 /*** 中级兵种*/ public abstract class MidClassUnit extends Unit{/*** 中级兵种* param x* param y*/public MidClassUnit(int x, int y) {super(10, 8, 80, x, y);} }高级兵种 /*** 高级兵种*/ public abstract class HighClassUnit extends Unit{/*** 高级兵种* param x* param y*/public HighClassUnit(int x, int y) {super(25, 30, 300, x, y);} }人族低级兵种海军陆战队 /*** 海军陆战队*/ public class Marine extends LowClassUnit {public Marine(int x, int y) {super(x, y);}Overridepublic void show() {System.out.println(海军陆战队出现了,坐标为:( x , y ));}Overridepublic void attack() {System.out.println(海军陆战队攻击,攻击力为: attack);} }人族中级兵种变形坦克 /*** 变形坦克*/ public class Tank extends MidClassUnit{/*** 中级兵种** param x* param y*/public Tank(int x, int y) {super(x, y);}Overridepublic void show() {System.out.println(变形坦克出现了,坐标为:( x , y ));}Overridepublic void attack() {System.out.println(变形坦克攻击,攻击力为: attack);} }人族高级兵种巨型战舰 /*** 巨型战舰*/ public class Battleship extends HighClassUnit{/*** 高级兵种** param x* param y*/public Battleship(int x, int y) {super(x, y);}Overridepublic void show() {System.out.println(巨型战舰出现了,坐标为:( x , y ));}Overridepublic void attack() {System.out.println(巨型战舰攻击,攻击力为: attack);} }怪兽族低级兵种螳螂 /*** 螳螂*/ public class Roach extends LowClassUnit{/*** 低级兵种** param x* param y*/public Roach(int x, int y) {super(x, y);}Overridepublic void show() {System.out.println(螳螂出现了,坐标为:( x , y ));}Overridepublic void attack() {System.out.println(螳螂攻击,攻击力为: attack);} }怪兽组中级兵种毒液 /*** 毒液*/ public class Poison extends MidClassUnit {/*** 中级兵种** param x* param y*/public Poison(int x, int y) {super(x, y);}Overridepublic void show() {System.out.println(毒液出现了,坐标为:( x , y ));}Overridepublic void attack() {System.out.println(毒液攻击,攻击力为: attack);} }怪兽组高级兵种猛犸 /*** 猛犸*/ public class Mammoth extends HighClassUnit {/*** 高级兵种** param x* param y*/public Mammoth(int x, int y) {super(x, y);}Overridepublic void show() {System.out.println(猛犸出现了,坐标为:( x , y ));}Overridepublic void attack() {System.out.println(猛犸攻击,攻击力为: attack);} }如果使用工厂模式来设计那么需要创建6个工厂类且这些工厂类互相没有联系因此我们考虑使用抽象工厂模式如下 抽象兵种工厂 /*** 抽象兵种工厂*/ public interface AbstractFactory {/*** 创建低级兵种* return*/LowClassUnit createLowClassUnit();/*** 创建中级兵种* return*/MidClassUnit createMidClassUnit();/*** 创建高级兵种* return*/HighClassUnit createHighClassUnit(); }人类兵种工厂 /*** 人类兵种工厂*/ public class HumanFactory implements AbstractFactory {/*** 横坐标*/private int x;/*** 纵坐标*/private int y;public HumanFactory(int x, int y) {this.x x;this.y y;}Overridepublic LowClassUnit createLowClassUnit() {LowClassUnit unit new Marine(x, y);System.out.println(制造海军陆战队员成功。);return unit;}Overridepublic MidClassUnit createMidClassUnit() {MidClassUnit unit new Tank(x, y);System.out.println(制造变形坦克成功。);return unit;}Overridepublic HighClassUnit createHighClassUnit() {HighClassUnit unit new Battleship(x, y);System.out.println(制造巨型战舰成功。);return unit;} }外星怪兽兵种工厂 /*** 外星人兵种工厂*/ public class AlienFactory implements AbstractFactory {/*** 横坐标*/private int x;/*** 纵坐标*/private int y;public AlienFactory(int x, int y) {this.x x;this.y y;}Overridepublic LowClassUnit createLowClassUnit() {LowClassUnit unit new Roach(x, y);System.out.println(制造蟑螂成功。);return unit;}Overridepublic MidClassUnit createMidClassUnit() {MidClassUnit unit new Poison(x, y);System.out.println(制造毒液成功。);return unit;}Overridepublic HighClassUnit createHighClassUnit() {HighClassUnit unit new Mammoth(x, y);System.out.println(制造猛犸象成功。);return unit;} }客户端演示人类兵种、怪兽兵种的创建 /*** 客户端*/ public class Client {public static void main(String[] args) {System.out.println(......人类兵种工厂开始制造兵种......);// 创建人类兵种工厂AbstractFactory humanFactory new HumanFactory(10, 10);// 创建低级兵种LowClassUnit humanLowClassUnit humanFactory.createLowClassUnit();// 创建中级兵种MidClassUnit humanMidClassUnit humanFactory.createMidClassUnit();// 创建高级兵种HighClassUnit humanHighClassUnit humanFactory.createHighClassUnit();// 低级兵种展示和攻击humanLowClassUnit.show();humanLowClassUnit.attack();// 中级兵种展示和攻击humanMidClassUnit.show();humanMidClassUnit.attack();// 高级兵种展示和攻击humanHighClassUnit.show();humanHighClassUnit.attack();System.out.println();System.out.println(......外星人兵种工厂开始制造兵种......);// 创建外星人兵种工厂AbstractFactory alienFactory new AlienFactory(200, 200);// 创建低级兵种LowClassUnit alienLowClassUnit alienFactory.createLowClassUnit();// 创建中级兵种MidClassUnit alienMidClassUnit alienFactory.createMidClassUnit();// 创建高级兵种HighClassUnit alienHighClassUnit alienFactory.createHighClassUnit();// 低级兵种展示和攻击alienLowClassUnit.show();alienLowClassUnit.attack();// 中级兵种展示和攻击alienMidClassUnit.show();alienMidClassUnit.attack();// 高级兵种展示和攻击alienHighClassUnit.show();alienHighClassUnit.attack();} }以上是抽象工厂模式创建对象的过程。抽象工厂模式是对工厂模式的一种提炼当我们需要对系统中的对象进行分类区别时应当考虑使用抽象工厂模式。 总结 本文参考《设计模式的艺术》、《秒懂设计模式》两书代码来自《秒懂设计模式》略有不同。
http://www.yutouwan.com/news/290572/

相关文章:

  • 家居企业网站建设咨询设计网站遇到的问题
  • 网站推荐你懂我的意思吧知乎wordpress火车头发布
  • 做一下网站需要什么条件广州企业建站模板
  • 安吉网站建设公司淄博网站制作品牌定制
  • 网站建设教程微云网盘网站备案期间可以做推广吗
  • dz论坛网站建设沈阳seo全网营销
  • 颍上做网站中国建筑劳务分包网
  • 做时彩网站违法吗wap的网站模板下载
  • 怎么运行自己做的网站开发企业app公司
  • 网站闭站免费一级域名有哪些
  • 描述建设一个网站的具体步骤网页加速器免费版 安卓
  • 技术支持东莞网站建设明星网页设计模板
  • 国内net开发的网站建设怎么做一个小程序商城
  • 建设企业网站企业网站建设与网页设计论文
  • 常宁网站建设哪个网站代做ppt便宜
  • lol做框网站安顺网站设计
  • 怎么用记事本做钓鱼网站网站建设实训教程
  • wap企业网站中国建设局网站首页
  • 视觉传达设计专业作品集单页网站seo怎么做
  • 百度网盘做自已网站网站建设合同模板91075
  • 福州搜索优化网站wordpress 播客主题
  • 贵阳手机网站建设费用网站注册要多少钱
  • 网站建设推广保举火13星什么是网络营销战略?网络营销战略的内容有哪些?
  • wordpress国外主题网站h5是什么意思游戏
  • 网站推广怎么做才有效果.net开发的网站能做优化吗
  • 合肥做网站设计乐趣公园 wordpress
  • 企业标准建站intitle 无线网站制作
  • 深圳罗湖区网站有限公司是国企还是私企
  • 网站做拓扑图编辑房地产网站建设方案
  • 东莞网站建设(信科分公司)网站备案中页面