问题列表 - 第37270页

静态方法:何时何时不

我是TDD和DDD的新手,我有一个关于静态方法的简单问题.TDD的大多数专家用一句话说静态方法是坏的(我们应该忘记创建大量的静态实用程序,我们(或我)以前用过它们是不可测试的.我可以看出为什么它们是不可测试(这里可以找到一个很棒的澄清文章,对于那些感兴趣的人,但我想我是这里唯一的菜鸟:()但是我想知道从TDD角度来看使用静态有一个很好的干净指南吗?

对于大多数人来说,这可能是一个非常愚蠢的问题,但是一些提示会很棒,我只想知道这里的专家如何看待静态的东西.提前致谢.

编辑:在寻找答案的过程中,我找到了2个关于静态使用的其他好线程(虽然不是TDD关注),我觉得对于那些感兴趣的人(我自己也包括在内)很好.

.net tdd domain-driven-design

8
推荐指数
3
解决办法
1229
查看次数

订购ObservableCollection <T>而不创建新的

我有以下代码来重新订购ObservableCollection<T>集合:

list = new ObservableCollection<SomeType>( list.OrderBy( c=>c.Ordinal ) );
Run Code Online (Sandbox Code Playgroud)

这段代码有效,但我不喜欢涉及"新"的事实.有没有办法可以在ObservableCollection<T>不创建新集合的情况下更改集合的内部元素顺序?

谢谢,

c#

21
推荐指数
4
解决办法
2万
查看次数

WPF错误模板未显示

我没有绑定错误,此代码在另一个地方工作.我还没有发现我现在所做的与它工作的代码有什么不同,而且代码不是那么多.

UserControl.Resource中:

<Style TargetType="TextBox">
  <Setter Property="BorderBrush" Value="DarkBlue"/>
  <Setter Property="BorderThickness" Value="1"/>
  <Setter Property="Margin" Value="0,1,0,1"/>
  <Setter Property="Validation.ErrorTemplate">
    <Setter.Value>
      <ControlTemplate>
        <StackPanel Orientation="Horizontal">
          <AdornedElementPlaceholder/>
          <Grid Margin="2,0,0,0">
            <Ellipse Width="20" Height="20" Fill="Red"/>
            <TextBlock Foreground="White" Text="X" FontWeight="Bold"
                       HorizontalAlignment="Center" VerticalAlignment="Center"/>
          </Grid>
        </StackPanel>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
  <Style.Triggers>
    <Trigger Property="Validation.HasError" Value="True">
      <Setter Property="ToolTip"
              Value="{Binding RelativeSource={RelativeSource Self},
                  Path=(Validation.Errors)[0].ErrorContent}"/>
    </Trigger>
  </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)

下面也在Xaml中:

<TextBlock Height="23" HorizontalAlignment="Left" Margin="22,90,0,0"
           Text="Keywords" VerticalAlignment="Top"/>
<TextBox Height="23" HorizontalAlignment="Left" Margin="22,108,0,0"
         VerticalAlignment="Top" Width="244">
  <Binding Path="Tags" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
    <Binding.ValidationRules>
      <DataErrorValidationRule ValidatesOnTargetUpdated="False"/>
    </Binding.ValidationRules>
  </Binding>
</TextBox>
Run Code Online (Sandbox Code Playgroud)

我的ViewModel中的按钮SAVE仅在Model.Tags属性从用户输入10个字符时激活.当我输入10,11然后返回8个字符时,按钮激活/禁用工作正常.所有属性更改都会被触发.

型号:

namespace …
Run Code Online (Sandbox Code Playgroud)

wpf xaml templates mvvm idataerrorinfo

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

跨平台C++动态库插件加载器

我只是想知道我对使用共享库动态加载插件的跨平台实现的选择.到目前为止,我发现的唯一一个是:

而我只是想知道我是否有其他选择?本质上,我希望能够将插件放在共享对象文件中,并在运行时加载它们,我希望以跨平台的C++方式实现.

编辑:我从2007年发现了Dobbs博士的这篇博士 ; 从那以后,肯定有人提出了更多的东西.

c++ plugins cross-platform shared-libraries

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

如何隐藏JFreeChart XYSeries yaxis?

有没有办法隐藏JFreeChart XYSeries yaxis?yaxis在逻辑分析仪显示器上毫无意义.

java jfreechart

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

<h:dataTable value =#{myBean.xxx}>:getXxx()被调用了很多次,为什么?

简单的一段代码dataTable.CentralFeed是SessionScoped Bean,PostComment是RequestScoped Bean

<h:form id="table">
    <h:dataTable value="#{CentralFeed.profileComments}" var="item">
        <h:column>
            <h:outputText value="#{item.comment}"/><br/>
            <h:inputTextarea value="#{item.newComment}" rows="2"/><br/>
            <h:commandButton value="Post" action="#{PostComment.postReply(item)}" />
        </h:column>
    </h:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)

CentralFeed.java

private List<NewsFeed> profileComments = null;

public List<NewsFeed> getProfileComments() {
    PhaseId currentPhaseId = FacesContext.getCurrentInstance().getCurrentPhaseId();
    profileComments = scholarBean.findProfileCommentsByUserId(getSelectedUser().getId());
    //model = new ListDataModel<NewsFeed>(profileComments);
    return profileComments;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是getProfileComments()被召唤了很多.currentPhaseId将告诉我们该方法被调用的阶段.当页面首次加载时,在第6阶段 - getProfileComment5次接听电话RENDER_RESPONSE.页面有一个inputTextarea,所以我输入了一些内容,然后单击Post(commandButton).然后再通过阶段1-> 4 再getProfileComment调用12次.每个阶段调用此方法3-4次.然后,在属性newComment获取调用的setter方法(所以setNewComment()得到调用),getProfileComment再次调用get调用 …

java datatable getter jsf jsf-2

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

如何在Java中连接String文字和String变量?

String date = new java.text.SimpleDateFormat("MM-dd-yyyy").format(new java.util.date());
upload.uploadfile("192.168.0.210", "muruganp", "vm4snk", "/home/media/Desktop/FTP Upload/+date+"_RB.zip"", "/fileserver/filesbackup/Emac/+date+"_RB.zip"");
Run Code Online (Sandbox Code Playgroud)

uploadfile是将文件10-20-2010_RB.zip上传到服务器位置的功能.

但是因为我的路径中有字符串"date",所以很少出现非法表达式错误.

如果我尝试如下相同,该程序工作正常.

upload.uploadfile("192.168.0.210", "muruganp", "vm4snk", "/home/media/Desktop/FTP Upload/20-10-2010_RB.zip", "/fileserver/filesbackup/Emac/20-10-2010_RB.zip");
Run Code Online (Sandbox Code Playgroud)

出于某些原因,我强迫在文件路径中插入字符串.我怎样才能达到最终结果?好心提醒.

java string

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

Eclipse JDT:是否有重构用setter/getter方法替换直接字段访问?

我知道我可以在Eclipse源代码菜单中为字段生成setter和getter,但我很惊讶它不提供用新调用方法调用来替换直接字段访问器.

有谁知道如何做到这一点,手动搜索和替换?

谢谢!

java eclipse refactoring eclipse-jdt getter-setter

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

实体框架4.0扩展和安全性

我想使用ORM,并且一直在关注EF 4.这个平台是否可扩展.我在网上看到很多东西,但是一切看起来都非常偏向于某种方式.任何人都知道基准或非主观信息.

在这一点上,EF是否会阻止SQL注入或XSS.我知道它使用了参数化查询,但这还够吗?

任何帮助表示赞赏.

asp.net security scalability entity-framework-4

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

如何在应用程序运行时在状态栏中显示图标,包括在后台?

我想在应用程序运行时在状态栏中放置一个图标,包括它在后台运行时.我怎样才能做到这一点?

icons android statusbar uistatusbar

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