问题列表 - 第30975页

单一责任和混合

鉴于Mixins 通常会在类中引入新行为,这通常意味着类会有多个行为.

如果一个类只有一个责任,则将其定义为只有一个改变原因的类.

所以,我可以从两个不同的角度看待这一点

  1. 这个班只有一个改变的理由.混合的模块也只有一个变化的原因.如果更改了类,则只需要重新测试类.如果更改模块,则只需要重新测试模块.因此,SRP是完整的.

  2. 该班现在有两个改变的原因.如果更改了类,则类和模块都需要重新测试.如果更改了模块,则类和模块都需要重新测试.Henge,SRP受到侵犯.

mixin的使用是否违反了单一责任原则,最终导致系统难以维护?

oop design-patterns single-responsibility-principle mixins

6
推荐指数
1
解决办法
351
查看次数

CUDA基本矩阵加法 - 大矩阵

我正在尝试添加两个4800x9600矩阵,但遇到了困难......

这是一个简单的C = A + B操作......

这是内核:

__global__ void matAdd_kernel(float* result,float* A,float* B,int size)
{
        int x=blockIdx.x*blockDim.x+threadIdx.x;
        int y=blockIdx.y*blockDim.y+threadIdx.y;
        int idx=x*y+x;

        if(idx<size)
        {
                result[idx]=A[idx]+B[idx];
        }
}
Run Code Online (Sandbox Code Playgroud)

这是代码:

void matAdd(Matrix C,Matrix A,Matrix B)
{
        int N=A.w*A.h;
        dim3 dimBlock=dim3(22,22);
        int yBlocks=A.w/dimBlock.y+((A.w%dimBlock.y)==0?0:1);   //yBlocks is 219 for dimBlock(22,22) and 9600x4800
        int xBlocks=A.h/dimBlock.x+((A.h%dimBlock.x)==0?0:1);   //xBlocks is 437 for dimBlock(22,22) and 9600x4800
        dim3 dimGrid=dim3(xBlocks,yBlocks);
        matAdd_kernel<<<dimGrid,dimBlock>>>(C.data,A.data,B.data,N);
        cutilCheckMsg("kernel launch failure");
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Matrix如下:

typedef struct{
        int w;
        int h;
        float* data;
}Matrix;
Run Code Online (Sandbox Code Playgroud)

这是我打印前10行和后10行时的输出:

top-10 rows A:
-0.023930 0.047744 -0.074694 0.053555 …
Run Code Online (Sandbox Code Playgroud)

c cuda nvidia matrix addition

1
推荐指数
1
解决办法
4496
查看次数

SQL Server 2008:在尝试通过连接访问数据库的CLR函数时出现异常

我想在SQL Server 2008中使用CLR表值函数,它从内部访问数据库.我有一个许可例外.我试图以与创建它的用户相同的方式执行功能.所以问题的原因尚不清楚..

这是功能:

public partial class MyClass
    {    
        [SqlFunction(
            DataAccess = DataAccessKind.Read,
            FillRowMethodName = "Availability_FillRow",
            TableDefinition = "B0RID nchar(32)")]
        public static IEnumerable Fn_SEARCH_Availability(SqlDateTime checkin, SqlInt32 overnights)
        {
            if (checkin.IsNull || overnights.IsNull)
            {
                return null;
            }
            List<ResultRoom> roomsResultList = new List<ResultRoom>();


        using (SqlConnection conn = new SqlConnection("Data Source=MachineName;Initial Catalog=DBNANE;Integrated Security=True"))
        {
            conn.Open();
        }
        return roomsResultList;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是例外

A .NET Framework error occurred during execution of user-defined routine or aggregate "Fn_SEARCH_Availability": 
System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, …
Run Code Online (Sandbox Code Playgroud)

sql-server clr sqlclr sql-server-2008

0
推荐指数
1
解决办法
1729
查看次数

Android测试代码覆盖率,Eclipse

有没有办法从Eclipse中运行Android的单元测试,以便检测代码并测量测试代码覆盖率?

我正在寻找一种简单的方法来找出我的应用程序的哪些部分尚未测试,修复测试用例并查看是否有帮助.

java eclipse android

17
推荐指数
2
解决办法
8882
查看次数

使用C++中的范围自动锁定/解锁(来自C#背景)

我过去几年一直在使用C#,目前我正在使用C++修复错误.在C#中,我可以使用对象的锁来使我的代码线程安全:

lock(lockObject)
{
    // Do some work
}
Run Code Online (Sandbox Code Playgroud)

如果在其中有异常,这将解锁lockOject // Do some work

C++中有类似的东西吗?目前我可以想到:

// Code
{
    AutoLock lock(lockObject);
    // Do some work
}
// More Code
Run Code Online (Sandbox Code Playgroud)

但我不喜欢花括号只是为了我的范围AutoLock.目前我正在做:

AutoLock lock(lockObject);
// Do some work
lock.Unlock();
Run Code Online (Sandbox Code Playgroud)

如果有异常,让异常展开释放锁定//Do some work.

我现在正在做什么,但我想知道是否有更好的方式,谢谢.

c++ exception-handling

6
推荐指数
1
解决办法
4034
查看次数

代码隐藏文件中无法识别某些aspx控件

我注意到一些aspx控件没有被intellisense识别,当我尝试编译时,我得到错误声明控件基本上不存在.

经过大量的修补,我意识到几个.aspx文件缺少.aspx.designer.cs文件.

重新创建文件的最佳方法是什么?

c# asp.net visual-studio-2008

7
推荐指数
1
解决办法
7098
查看次数

在C++中,给定A类中的成员函数,我们是否可以将其访问权限仅限于B类,而不允许B完全朋友访问A?

可能重复:
干净的C++粒度朋友等价?(答案:律师 - 客户成语)

我想要这几次,并且无法想出一个体面的方法来做到这一点.

假设我在A类中有一个成员函数.我希望能够从一个不相关的B类调用该函数,但通常不能调用.您可能会说,"当然,将该功能设为私有,并宣布B为A的朋友." 这就是我一直在做的事情,但似乎有点矫枉过正.我真的不想让B访问A中的所有内容,只需要一个函数.

简而言之:A::func()只能由B级调用,但B不是A的朋友.可能吗?

c++ encapsulation

8
推荐指数
2
解决办法
515
查看次数

从Java调用网页上的Javascript

我的目标是连接到OWA页面(Microsoft Office Outlook Web Access - 基本上是电子邮件客户端)并登录,然后读取加载的新页面并查找收件箱计数.

要登录,我需要填写用户名和密码字段,并调用我知道名称和标题的某个javascript函数.

我如何能:

  1. 获取页面的DOM?
  2. 更新DOM以填写输入文本字段?
  3. 调用Javascript函数?
  4. 获取我重定向到的页面的新URL?

到目前为止,我可以使用以下Java代码连接到网页并加载其页面源:

                // open the connection to the welcome page
                callback.status("Opening connection...");
                URLConnection connection = null;
                try
                {
                    connection = url.openConnection();
                }
                catch(IOException ex)
                {
                    throw new Exception("I/O Problem while attempting URL connection");
                }

                connection.setDoInput(true);

                // open input stream to read website
                callback.status("Opening data stream...");
                InputStream input = null;
                try
                {
                    input = connection.getInputStream();
                }
                catch(IOException ex)
                {
                    throw new Exception("I/O Problem while opening data stream");
                }

                // …
Run Code Online (Sandbox Code Playgroud)

html javascript java dom

3
推荐指数
1
解决办法
1万
查看次数

使用Maven的JUnit3和Junit4 XML报告

我试图弄清楚如何结合Maven使用JUnit(3和4)的假定报告功能,但谷歌搜索在如何实际运行JUnit(通过Maven)的方式上并没有太多关注,得到一个报告每个测试(或所有测试)以及它将采用何种格式.

所以,我的多部分问题是:

1.)JUnit(3/4)能够输出什么样的XML格式?

2.)JUnit需要什么样的调用约定/参数才能输出这些报告?

3.)报告输出在哪里?

4.)可以在通过Maven运行时生成这些报告,还是我使用Maven生成的报告的唯一选择?

任何链接或建议将不胜感激.

java maven-2 junit4 junit3

8
推荐指数
2
解决办法
1万
查看次数

Wpf ComboBox触发器

我有两个ComboBoxes如下

<StackPanel Orientation="Horizontal" >
<ComboBox x:Name="cbxOne"  Style="{StaticResource demoStyle}" >
    <ComboBoxItem >One</ComboBoxItem>
    <ComboBoxItem >Two</ComboBoxItem>
    <ComboBoxItem >All</ComboBoxItem>
</ComboBox>
<ComboBox x:Name="cbxTwo">
    <ComboBoxItem >1</ComboBoxItem>
    <ComboBoxItem >2</ComboBoxItem>
</ComboBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

我试过这种风格

<Style x:Key="demoStyle" TargetType="{x:Type ComboBox}">
    <Style.Triggers>
    <Trigger Property="SelectedValue" Value="All">
                <Setter Property="cbxTwo.Visibility" Value="Collapsed"></Setter>
        </Trigger>
    </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)

我想要第一个是'All'来隐藏第二个使用Xaml和触发器.

谢谢

wpf

3
推荐指数
1
解决办法
2万
查看次数