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

网站分站是怎么做的模板之家

网站分站是怎么做的,模板之家,BBC类网站的建设及维护,推广普通话手抄报一等奖设计模式选择理由: 抽象工厂模式: 抽象工厂模式适合于创建一组相关或依赖对象的场景。在这里,我们可以定义一个抽象工厂来创建不同类型(数字、字母、特殊符号)的随机数据生成器。 策略模式: 策略模式允许你…

设计模式选择理由:

  1. 抽象工厂模式

    • 抽象工厂模式适合于创建一组相关或依赖对象的场景。在这里,我们可以定义一个抽象工厂来创建不同类型(数字、字母、特殊符号)的随机数据生成器。
  2. 策略模式

    • 策略模式允许你定义一系列算法,并将每个算法封装起来,使它们可以互相替换。在这里,我们可以使用策略模式来定义不同类型数据的生成算法,例如数字生成策略、字母生成策略、特殊符号生成策略。

示例实现:

下面是一个简单的Python示例,结合抽象工厂模式和策略模式,用于生成随机数

import random
import string
from abc import ABC, abstractmethod
import numpy as np
import random# 抽象工厂:数据生成器工厂
class DataGeneratorFactory:def create_generator(self):pass# 具体工厂1:数字数据生成器工厂
class NumberGeneratorFactory(DataGeneratorFactory):def create_generator(self):return NumberGenerator()# 具体工厂2:字母数据生成器工厂
class LetterGeneratorFactory(DataGeneratorFactory):def create_generator(self):return LetterGenerator()# 具体工厂3:特殊符号数据生成器工厂
class SymbolGeneratorFactory(DataGeneratorFactory):def create_generator(self):return SymbolGenerator()# 具体工厂4:字母、数字、特殊符号数据生成器工厂
class LetterNumberSymbolGeneratorFactory(DataGeneratorFactory):def create_generator(self):return LetterNumberSymbolGenerator()# 具体工厂5:指定特殊符号数据生成器工厂
class SymbolAGeneratorFactory(DataGeneratorFactory):def create_generator(self):return SymbolAGenerator()# 抽象产品:数据生成器接口
class DataGenerator:def generate_data(self, length):pass# 具体产品1:数字数据生成器
class NumberGenerator(DataGenerator):def generate_data(self, length):my_list = [random.randint(0, 9) for _ in range(length)]result = int(''.join(map(str, my_list)))return result# 具体产品2:字母数据生成器
class LetterGenerator(DataGenerator):def generate_data(self, length):my_list = [random.choice(string.ascii_letters) for _ in range(length)]result = ''.join(my_list)return result# 具体产品3:特殊符号数据生成器
class SymbolGenerator(DataGenerator):def generate_data(self, length):symbols = string.punctuationmy_list = [random.choice(symbols) for _ in range(length)]result = ''.join(my_list)return result# 具体产品4:字母、数字、特殊符号数据生成器
class LetterNumberSymbolGenerator(DataGenerator):def generate_data(self, length):symbols = string.ascii_letters + string.digits + string.punctuation  # 随机字母+随机数字+随机特殊符号my_list = [random.choice(symbols) for _ in range(length)]result = ''.join(my_list)return result# 具体产品5:指定特殊符号数据生成器
class SymbolAGenerator(DataGenerator):def generate_data(self, length):symbols = "!@#$%^&*()_+-=[]{}|;:,.<>/?"my_list = [random.choice(symbols) for _ in range(length)]result = ''.join(my_list)return result# 客户端代码
def generate_random_array(factory, length):generator = factory.create_generator()return generator.generate_data(length)class RandomStrategy(ABC):# 抽象类:强制子类实现此方法@abstractmethoddef fun_random(self, seed=None):passclass PortRandomStrategy(RandomStrategy):def fun_random(self, seed=None):random.seed(seed)port = random.randint(0, 65535)return portclass IPRandomStrategy(RandomStrategy):def fun_random(self, seed=None):random.seed(seed)ip = ".".join(str(random.randint(0, 255)) for _ in range(4))return ipclass SeqRandomStrategy(RandomStrategy):def fun_random(self, seed=None):random.seed(seed)seqRand = random.randint(0, (2**32) - 1)return seqRandfactories = [NumberGeneratorFactory(), LetterGeneratorFactory(), SymbolGeneratorFactory(),LetterNumberSymbolGeneratorFactory(),SymbolAGeneratorFactory()]
for factory in factories:random_data = generate_random_array(factory, 10)print(random_data)portRandom = PortRandomStrategy().fun_random()
portRandomSeed = PortRandomStrategy().fun_random(3)
ipRandom = IPRandomStrategy().fun_random()
ipRandomSeed = IPRandomStrategy().fun_random(3)
seqRandom = SeqRandomStrategy().fun_random()
seqRandomSeed = SeqRandomStrategy().fun_random(3)print(portRandom,portRandomSeed)
print(ipRandom, ipRandomSeed)
print(seqRandom, seqRandomSeed)

1373322424
LgVdMdRGjV
`\~_+-/}>$
XH.Q%<L\4t
>^;)!..-&]
59444 31190
172.42.130.11 121.66.189.242
4152488277 2337446730

  • 抽象工厂和具体工厂DataGeneratorFactory是抽象工厂,定义了创建数据生成器的接口。

  • 抽象产品和具体产品DataGenerator是抽象产品接口,定义了生成数据的方法;实现了具体的生成算法。

  • 客户端代码generate_random_array函数接受一个工厂对象和长度作为参数,通过工厂创建对应类型的数据生成器,并生成随机数组。

此设计可以扩展和修改不同类型数据的生成方式,保持代码结构清晰和可维护性高。

使用抽象工厂和策略模式的组合,使代码符合开闭原则,即对扩展开放、对修改关闭。

http://www.shuangfujiaoyu.com/news/40419.html

相关文章:

  • wordpress不同用户不同菜单网络优化的流程
  • 有专业做网站的在哪里找软件开发公司
  • 深圳专业做网站专业网站推广具体内容
  • 淘宝客推广平台南沙seo培训
  • 产品建站工具广州网站排名推广
  • 网站后台无法上传附件网络广告投放
  • 高校网站建设建议郑州网站运营专业乐云seo
  • html5手机网站磁力猫官网cilimao
  • 一起做网店网站关键词优化的价格查询
  • 宁夏建设局官方网站seo做的比较好的公司
  • 数字政府与网站内容建设seo短视频网页入口引流网站
  • 建设政务网站报告百度开户渠道
  • 自己电脑做服务器发布网站本溪seo优化
  • 网站内容营销推广衣服的软文
  • 如何做类似千图网的网站品牌策划案例
  • 上海三凯建设管理咨询有限公司网站免费网站安全软件下载
  • 金山网站制作网站运营课程
  • 无锡高端网站设计公司价格全国教育培训机构平台
  • 欧美视频在线电影北京seoqq群
  • 企业网站策划应该怎么做产品营销推广策略
  • 做加盟网站哪个最好友情链接交换平台有哪些
  • 返利网一类的网站怎么做小程序开发公司排行榜
  • 济南建网站网站搭建免费
  • 文化书院网站建设方案网络营销运营公司
  • 杭州网站建设优化案例抖音seo排名优化
  • 企业网站seo哪里好关键词查找工具
  • 广西哪家公司做网站的南京关键词优化服务
  • 可以做c语言任务的网站长沙网站包年优化
  • 二手车网站制作上海今日头条新闻
  • WordPress好看的404潍坊百度关键词优化