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

网站分站是怎么做的最新新闻播报

网站分站是怎么做的,最新新闻播报,东莞网站推广公司,wordpress禁用保存草稿设计模式选择理由: 抽象工厂模式: 抽象工厂模式适合于创建一组相关或依赖对象的场景。在这里,我们可以定义一个抽象工厂来创建不同类型(数字、字母、特殊符号)的随机数据生成器。 策略模式: 策略模式允许你…

设计模式选择理由:

  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.dinnco.com/news/46363.html

相关文章:

  • 技术支持 济源网站建设seo专业推广
  • 成都网站建设科技公司深圳全网推广公司
  • 十大软件公司排名seo是什么化学名称
  • 别墅装修装饰设计seo关键词排名优化报价
  • 分类网站 模板武汉seo网站优化
  • 网站建设及网页设计教案最新的全国疫情数据
  • 优秀vi设计网站网页版登录入口
  • 手机网站jq导航菜单公司百度推广一年多少钱
  • 酒店网站制作策划巨量算数数据分析
  • 网站界面 欣赏知名品牌营销策划案例
  • 微信运营有前途吗seo外包公司哪家好
  • 在线网页代理太太猫长沙seo免费诊断
  • 响应式一页网站51link友链
  • html做网站做品牌推广应该怎么做
  • 网站怎么做定位功能360搜索引擎优化
  • 网上玩时时彩的网站怎么做代理教育培训机构推荐
  • 如何选择做网站中国局势最新消息今天
  • 企业网站建设公司排名semi final
  • 郴州红网北京优化核酸检测
  • 政府网站建设指标评价结果上海最新新闻
  • ppt制作软件模板网站长沙百度网站推广公司
  • 北京市中关村有哪家可以做网站维护我要下载百度
  • 深圳网站设计哪家强网络推广方式主要有
  • 旧笔记本 做网站百度推广授权代理商
  • wordpress发号seo关键词优化的技巧和方法
  • 做网站一个月能挣多少国际域名注册网站
  • 长沙市城市建设档案馆官方网站销售网站有哪些
  • 税务局的网站是哪个公司做的短视频seo排名
  • 做基础网站主机要?网站软件推荐
  • 网站备份脚本seo排名优化技术