class-c++巨型类的拆分策略。问题标题是要多长?

问题描述

c++巨型类的拆分策略。问题标题是要多长?

在实际的项目中,对板卡进行升级,流程包括:解压升级包->格式化目录->升级固件->升级软件,每一步操作都很复杂,涉及到的业务函数很多,再加上有不同的板卡,可能在某些步骤不大相同,于是把不相同的部分涉及成虚函数,在子类中进行实现,但基类仍然很大,函数很多。想进一步的拆分,有没有好的思路借鉴?
看了看设计模式,参考策略模式,把流程每一大步都拆分成一个单独的类,然后再继承这个类用于实现不同的步骤,但是带来的问题就是每个特殊的板卡在多个继承体系中出现,感觉太碎。
鄙人非计算机专业出身,对于软件工程没有太多了解,希望各位大牛多多支招。谢谢。

解决方案

基类抽象和归统出所有函数和接口,尽量在函数参数上下功夫,将函数数量控制的少些,然后类里面写出看套类,就像板卡,
不同板卡可以有自己的私有函数,需要透明的地方可以写有缘类和函数,Vc中这样实现比较理想

解决方案二:

函数多也没关系 类函数多点无所谓 只要子类继承实现自己的特定实现 这样也清楚

解决方案三:

可以把板卡中相同的步骤集中在一个类里,每个独立的步骤都可以实例化出一个类,然后通过聚合的方式,聚合在一起,步骤功能之间如果也有耦合,
可以再按照耦合关系进行设计,可以多种设计模式组合,不同的部分在进行单独封装继承。不清楚楼主各功能之间的关系,所以也就不能明确设计方式了

解决方案四:

一般来说,相同功能的卡板一个进行整合,通过装饰者模式提供统一接口,其实现使用代理模式可能会好一点,这个会减少耦合几率,

解决方案五:

模板+代理+桥接+工厂

时间: 2024-08-04 12:14:48

class-c++巨型类的拆分策略。问题标题是要多长?的相关文章

HBase笔记:Region拆分策略

Region 概念 Region是表获取和分布的基本元素,由每个列族的一个Store组成.对象层级图如下: Table (HBase table) Region (Regions for the table) Store (Store per ColumnFamily for each Region for the table) MemStore (MemStore for each Store for each Region for the table) StoreFile (StoreFil

图片-有关string类字符串拆分的问题

问题描述 有关string类字符串拆分的问题 这样的数据文件 我想用getline(file line);//按行提取文件,然后把每一行拆分成五部分分别用int a bcde保存 :例如第一行最后 a=0;b=640;c=75;d=75;e=75;应该怎样实现呢里面的string类可以转成int吗String类的拆分一般都有什么函数呢谢谢大家 解决方案 Java?用split函数 解决方案二: C++的话,自己实现一个类似的splithttp://www.cnblogs.com/zhiranok

单招教育类网站推广策略

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 单招教育类网站,是一个比较冷门的行业,这类教育行业的特点是:流量小.时效性强(往往一年只要几个月有用户关注).竞争度小.这对于从事这类行业的朋友来说是一个机遇,因为只需要一些简单的推广策略,就可以让我们的网站排名在前. 一.单招教育站网络市场行情 目前因为单招教育行业没有太多人关注,因此在网络上并没有一个系统的竞争环境,大多数单招类的信息都出

微型项目实践(6):Business层代码分析——实体类的生成策略

上一篇中,我们分析了实体类的基类Entity,这一篇中,我们就分析一下基于该类的实体类. 每一个实体类都会有两个文件组成,我们以BlogClass为例,该类包含两个文件:BlogClass.cs和 BlogClass.designer.cs,这非常类似VS自己生成的代码,更方便的是,VS还会自动把这两个文件折叠起 来,如图. 这两个文件中,BlogClass.designer.cs包含所有的生成代码:成员.属性等,而BlogClass.cs则只包 含一个类的定义,供我们填写代码使用. BlogC

lnmp环境下wordpress防CC类恶意攻击策略方法

从上个月开始,部落的wordpress网站,就经常遭受到各类不明的攻击,表现为同一IP地址,在短时间内不停地对某个页面或者某个图片进行访问,开始以为是自己的文章被人转载后,别人的网站遭到CC攻击,但后来通过网站日志发现,并非如此,大量的IP,在不同的时间段突然来袭,一下子CPU就占用到100%,实在没办法,从百度上找到了一段代码,一起来看看这个方法. 这一点,如果您的wordpress站点没有遭到攻击,就不要去操作了.因为这一段代码明显对网站的速度存在影响. 先来看看部落站点补攻击后,阿里云的短

音乐类网站SEO策略

摘要: 喜欢听歌的朋友都喜欢一些音乐网站,国内比较知名的音乐网站有一听音乐网.365音乐网等,这些大型音乐网站都是由公司负责运营的,当然也有个人站长做的音乐类网站,而且做的非 喜欢听歌的朋友都喜欢一些音乐网站,国内比较知名的音乐网站有一听音乐网.365音乐网等,这些大型音乐网站都是由公司负责运营的,当然也有个人站长做的音乐类网站,而且做的非常牛逼的,譬如,九酷音乐网,这个网站想必很多人都不陌生. 用站长工具查看下就清楚了,这个音乐网站的百度流量是46万多,几十万的流量确实很厉害,一些百度指数过万

北京联通新推四类亲情套餐可合账缴费共享时长

网易科技讯 11月12日消息,中国联通北京公司(下称北京联通)于11月10日推出"亲情随身手机版(本地)"."亲情随身手机版(长市合一)"."亲情无限手机版(本地)"及"亲情无限手机版(长市合一)"四类亲情套餐,用户绑定固话和手机后,可合账缴费.共享通话时长. 北京联通介绍,上述四种套餐分别包含基本套餐及可选包两部分.基本套餐是用户必选部分,可选包是基于基本套餐之上的优惠包,用户可自由选择. 图一:亲情无限手机版(长市合一)

数据仓库实施的6种策略

策略|数据 数据仓库实施的6种策略   在实施数据仓库时,需要理论策略指导,随着数据仓库技术的发展,数据仓库的实现策略已从原先的"自顶向下"一种模式发展到了六种模式. 1."自顶向下"模式 在这种"自顶向下"模式中,数据集市和数据仓库的关系是单方向的,即数据从数据仓库流向数据集市.    2."自底向上"模式 "自底向上"模式是从建立各个部门或特定的商业问题的数据集市开始,全局性数据仓库是建立在这些数据集市

在Hibernate中检索策略的应用详解

Hibernate的检索策略包括类级别检索策略和关联级别检索策略. 类级别检索策略有立即检索和延迟检索,默认的检索策略是立即检索.在Hibernate映射文件中,通过在<不着class>上配置lazy属性来确定检索策略.对于Session的检索方式,类级别检索策略仅适用于load方法:也就说,对于get.qurey检索,持久化对象都会被立即加载而不管lazy是false还是true.一般来说,我们检索对象就是要访问它,因此立即检索是通常的选择.由于load方法在检索不到对象时会抛出异常(立即检