当前位置: 首页 > 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://wiki.neutronadmin.com/news/290572/

相关文章:

  • 网站建设工作小组推进表湖南信息网官方网站
  • 网网站建设站建设asp网站后台源码
  • 网站预订功能怎么做wordpress小插件下载
  • 常州个性化网站建设分销代理平台
  • 网站即将 模板搜索引擎营销经典案例
  • 网站一级域名东莞建外贸企业网站
  • 企业网站建设浩森宇特海曙区建设局网站
  • 用织梦做的网站下载地址电子商务企业网站建设发展论文
  • 网站开发一般多少钱php中网站搜索功能实现
  • win2003网站建设百度云做网站
  • 深圳国外网站建设汽车网页模板
  • 搜索引擎有哪些网站国外建设网站情况报告
  • 专业公司网站开发服务优质ppt模板免费下载
  • php网站建设制作流程响应式网站 cms
  • wordpress全站链接网站ie不兼容
  • 机票网站建设山东潍坊网站制作公司
  • 房屋网站模板wordpress qq微信登陆地址
  • 网站无法导入照片wordpress的使用方法
  • 淄博著名网站开发方法中文在线っと好きだっ
  • 唐山网站建设开发做名片最好的网站
  • 阿里巴巴国际站关键词推广广州哪里有做网站的
  • 东莞什么行业做网站的多太原室内设计公司排名
  • 怎样做机械租赁的网站注册公司最好用老年人
  • 企业展示型电商网站模板招工 最新招聘信息58同城
  • 郑州app网站公司住房和城乡规划建设局官方网站
  • 怎么做网站平台中国十大网络安全公司排名
  • 小程序是怎么制作出来的门户网站做seo
  • 佛山企业网站建设教程微信公众号做电影网站要域名吗
  • 用手机可以做网站吗网站开发安全性分析
  • 有做企业网站的吗creative建网站平台