请教个 refractoring 的问题,谢谢

问题描述

我在已有的class里面加了个function,里面就是往一个dictionary里面key赋一些值,10多个key吧,然后对这个dictionary进行一些操作。由于这个已有class已经很大了,所以被要求新建一个class,里面建个function,然后在这个旧的class里initialize这个新的class,然后通过那个function把那些值传过去,这样的话,在旧的class里面两三行代码就行了,大部分的操作都会在新的class里面来实现。但是由于还有个要求每个function里面的parameter不要超过6个,那么10多个key的值肯定不行了,我就想建个object,里面包含这些key,就只传一个object就好了,可是我要在旧class里面传initialize这个object,还是相当于很多行代码。有什么方法我能够在旧的class里面用最少行的代码,而且parameter还不超过6个。谢谢啦本人juniordev,没什么经验。

解决方案

解决方案二:
既然要传10多个值,又不让写代码,你不觉得很矛盾吗?
解决方案三:
是有点矛盾,那怎么办呢。

时间: 2024-08-01 22:09:10

请教个 refractoring 的问题,谢谢的相关文章

string-Android下的计算器的退格功能实现不了,还没有解决,请教各位大神,谢谢啦!

问题描述 Android下的计算器的退格功能实现不了,还没有解决,请教各位大神,谢谢啦! package com.example.t; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import

软件设计-请教软件开发问题,谢谢!

问题描述 请教软件开发问题,谢谢! 现在想给我的SSH2框架的网站实现软件订制功能:举个例子:jsp页面上有1组复选框,其中有2个可选项,第一个是发短信功能,第二个是打电话功能.顾客任意选则这2个可选项所代表的功能,从而下载,然后生成一个对应的安装包,从而安装软件.现在我的想法是,首先由后台管理员上传3个软件ABC.顾客选择第1个,则下载发短信的软件A:顾客选择第2个,则下载打电话的软件B:顾客选择第3个,则下载既可以打电话也可以发短信的软件C:虽然可以实现定制功能,但是一旦可选择的功能增多,那

有谁用过spring security的?有问题请教,在线等,谢谢!

问题描述 如何重写concurrentSessionFilter呢?而且如何使用custom-filter呢?我怎么一加它就抛异常呢?我是这样配置的<httpuse-expressions="true"><intercept-urlpattern="/login.do"access="permitAll"/><intercept-urlpattern="/redirectLogin.do"acce

请教前辈们哦。谢谢!

问题描述 1.业务需求概述中心为了对广大学员信息进行统一管理,特要求开发一套学员信息管理系统.现完成学员基本信息管理功能,包括对学员基本信息的增.删.改.查操作.要求:1)开发语言使用Java.2)系统使用Socket完成基于TCP协议的网络程序开发3)数据库使用SQLServer2008,按题目要求,自己设计并创建数据库2.项目功能说明学员信息管理系统功能简介如下:项目功能描述列表运行服务器端运行客户端,在客户端界面的控制台中显示::添加学员信息,查询学员信息,修改学员信息,删除学员信息在客户

各位大神,小弟请教你们一个问题,谢谢啦

问题描述 我最近在学习MVC3,遇到了一个问题:我在SQL数据库中有个Person数据库,Person中有个Person数据表:然后我在Web.config中写了连接数据库的代码:<addname="PersonDBContext"connectionString="DataSource=.;InitialCatalog=Person;IntegratedSecurity=True"providerName="System.Data.SqlClien

c++-请教:一个完整的C++程序如何提供一个接口给其他软件使用

问题描述 请教:一个完整的C++程序如何提供一个接口给其他软件使用 如题.我用C++做了一个软件,现在想提供一个dll给另一个软件使用.要如何做?是直接在这个C++程序上做接口,还是另外建一个工程来生成dll? 请教大神们啦~谢谢 解决方案 要看另一个软件是需要如何和你的程序交互. 用到你程序的一部分,那么开放dll 只是传递数据的话,提供数据传递的标准,让它自己实现 希望整体嵌入你的程序,那么你实现一个OLE Server,让它用OLE Container嵌入你的程序. 如果那个程序不在本地,

plsql-PLSQL中定义显式游标时用了INTO子句没有报错,请教这个INTO子句的作用是什么?

问题描述 PLSQL中定义显式游标时用了INTO子句没有报错,请教这个INTO子句的作用是什么? 如题,在定义显式游标时用了INTO子句,能编译正常且执行也没错,请问这里的into有啥作用? 代码如下: DECLARE pi_org_cd VARCHAR2(15); -- org cd CURSOR cur_test_data IS SELECT 'MYTEST' org_cd INTO pi_org_cd FROM DUAL ; BEGIN OPEN cur_test_data; FETCH

请教关于使用支付宝开放平台(API)遇到的问题。【附代码】急。。。

问题描述 需求:想通过开放平台提供的"alipay.user.trade.search"来查询帐户的交易记录.按支付宝开放平台的文档介绍,要实现站外读取支付宝帐户交易记录,需要做的步骤如下:1.需要用户授权,2.授权后得到auth_code,3.再凭auth_code换取access_token及用户userId,4.最后通过获取到的access_token值通过alipay.user.trade.search接口来读取帐户的交易记录现在已经做到第3步,获取到了access_token

请教:如何用类名的字符串强制转化一个Object型变量

问题描述 具体说明:假设有个类名的字符串StringclassName="Abcd";一个Object型变量Objecta;如何让程序用className把a强制转换成Abcd类型?最终效果等同于(Abcd)a;请教各位大神,谢谢. 解决方案 本帖最后由 longyentian 于 2015-01-02 17:18:15 编辑解决方案二:顶一下.找牛人回答