问题列表 - 第28730页

实体框架4 Code First和new()运算符

我有一个相当深的对象层次结构,我试图坚持使用Entity Framework 4,POCO,PI(Persistence Ignorance)和Code First.突然之间,当我突然意识到不使用new()运算符时,事情开始变得很好.最初编写时,对象经常使用new()来创建子对象.

相反,我正在使用我对存储库模式的看法来根据需要创建所有子对象.例如,给定:

class Adam
{
  List<Child> children;
  void AddChildGivenInput(string input) { children.Add(new Child(...)); }
}

class Child
{
  List<GrandChild> grandchildren;
  void AddGrandChildGivenInput(string input) { grandchildren.Add(new GrandChild(...)); }
}

class GrandChild
{
}
Run Code Online (Sandbox Code Playgroud)

("GivenInput"表示此处未显示的某些处理)

我定义了一个AdamRepository像:

class AdamRepository
{
    Adam Add() 
    { 
        return objectContext.Create<Adam>(); 
    }
    Child AddChildGivenInput(Adam adam, string input) 
    { 
        return adam.children.Add(new Child(...)); 
    }
    GrandChild AddGrandchildGivenInput(Child child, string input) 
    { 
        return child.grandchildren.Add(new GrandChild(...)); 
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,这很好用.但是,我不再"无知"我的持久性机制,因为我放弃了new()运算符.

此外,我有一个贫血领域模型的风险,因为这么多的逻辑最终存储在存储库而不是域对象中.

经过多次讨论,一个问题:

或者更确切地说......

  • 这种模式是否需要与EF 4 Code First一起使用? …

poco code-first entity-framework-4

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

为什么这个字段被声明为私有而且只是readonly?

在以下代码中:

public class MovieRepository : IMovieRepository
{
    private readonly IHtmlDownloader _downloader;

    public MovieRepository(IHtmlDownloader downloader)
    {
        _downloader = downloader;
    }

    public Movie FindMovieById(string id)
    {
        var idUri = ...build URI...;

        var html = _downloader.DownloadHtml(idUri);

        return ...parse ID HTML...;
    }

    public Movie FindMovieByTitle(string title)
    {
        var titleUri = ...build URI...;

        var html = _downloader.DownloadHtml(titleUri);

        return ...parse title HTML...;
    }
}
Run Code Online (Sandbox Code Playgroud)

我要求审查我的代码,有人提出了这种方法.我的问题是为什么IHtmlDownloader变量只读?

.net c# interface readonly

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

重构C++代码以使用脚本语言?

背景:

我一直在研究用C++编写的平台游戏几个月.该游戏目前完全用C++编写,尽管我对使用Lua用于敌人AI以及可能的其他逻辑的可能性很感兴趣.但是,该项目的设计没有考虑到Lua,我已经为大部分AI编写了可用的C++代码.我希望Lua可以提高游戏的可扩展性,但不知道将现有的C++代码转换为Lua是否有意义.

问题:

如果有的话,是否适合采用功能齐全的C++代码并将其重构为像Lua这样的脚本语言?

问题是故意有点模糊,所以请随意给出与给定背景无关的答案.

c++ lua refactoring

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

在同一页面上获取和发布信息?

编辑:找到答案!非常感谢大家,很多答案都有效,我选择隐藏的字段答案,因为它最简单:D

我正在创建一个评论脚本,我遇到了一个问题.我不得不在同一页面上使用$ _POST和$ _GET,我认为这没有道理.

我是非常新的PHP,我正在训练自己.

我有一个名为viewVerses.php的页面 - 这里有一个经文列表.当有人关注回复链接时,

echo '<br /><a href="reply.php?verseid='.$verseid.'">Reply</a>';
Run Code Online (Sandbox Code Playgroud)

我正在将这首诗歌(评论圣经经文)传递给reply.php,以便可以用该诗句进行查询.(这样,用户仍然可以看到他/她正在评论的经文).

现在,reply.php中有一个用于发布回复的表单.表格转到postReply.php

这是在postReply.php中

$title = $_POST['title'];
$body = $_POST['body'];
$verseid = $_GET[verseid];
Run Code Online (Sandbox Code Playgroud)

我可以从网址和POST中获取同一页面中表格中的值的诗歌吗?

如果没有,有没有办法可以做得更好?记住,我是php新手,可能不会实现超级难的解决方案.我必须把它放在我的网站上.

我希望这很清楚

php post redirect get

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

C++继承:成员的范围和可见性

你能解释为什么不允许这样做,

#include <stdio.h>

class B {
private:
    int a;
public:
    int a;
};

int main() {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

虽然这是?

#include <stdio.h>

class A {
public:
    int a;
};

class B : public A{
private:
    int a;
};

int main() {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我们有一个公钥和一个名为私有变量aclass B.


现在编辑!

c++ inheritance class redeclaration

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

如何创建"Clustergram"图?(在R中)

我遇到了这个有趣的网站,想到了一种可视化聚类算法的方法,称为"Clustergram":

alt text http://www.schonlau.net/images/clustergramexample.gif

我不确定这是多么有用,但为了玩它我想用R重现它,但我不知道如何去做.

您如何为每个项目创建一条线,以便在不同数量的集群中保持一致?

以下是可用答案的示例代码/数据:

hc <- hclust(dist(USArrests), "ave")
plot(hc)
Run Code Online (Sandbox Code Playgroud)

graphics visualization r cluster-analysis

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

这个java代码有什么解释?

我有以下代码:

public class Main {
     public void method(Object o)
     {
           System.out.println("Object Version");
     }
     public void method(String s)
     {
          System.out.println("String Version");
     }
     public static void main(String args[])
     {
           Main question = new Main();
           question.method(null);//1
     }
}
Run Code Online (Sandbox Code Playgroud)

为什么结果是"字符串版本"?如果第一个方法接受一个StringBuffer对象,为什么会出现编译器错误?
另一种情况:如果第一个方法接受一个StringBuffer对象,我写question.method("word");的结果将是"String Version".为什么?为什么没有编译器错误?

java

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

我如何命名其唯一目的是充当结构的类?

例如,拿我的Actor类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace FreeIMDB
{
    class Actor
    {
        public string Name { get; set; }
        public Image Portrait { get; set; }
        public DateTime DateOfBirth { get; set; }
        public List<string> ActingRoles { get; set; }
        public List<string> WritingRoles { get; set; }
        public List<string> ProducingRoles { get; set; }
        public List<string> DirectingRoles { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

此类仅用于将信息填充到其中,并允许其他开发人员获取其值.

正式称这些类型的课程是什么?什么是正确的命名法?

c# standards class

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

如果在Java中它是整数数组,如何检查null元素?

我是Java的新手,并且在整数数组中检查null元素时遇到问题.我正在使用Eclipse进行编辑,并且检查null元素的行显示错误:

抱怨的行:

if(a[i] != null) {
Run Code Online (Sandbox Code Playgroud)

来自Eclipse的错误信息:

The operator != is undefined for the argument type(s) int, null
Run Code Online (Sandbox Code Playgroud)

在PHP中,这没有任何问题,但在Java中,似乎我必须将数组类型从整数更改为Object以使该行不被抱怨(如下所示)

Object[] a = new Object[3];
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如果我仍然想要声明为整数数组并且仍然想要检查null,它的语法是什么?

码:

public void test() {
        int[] a = new int[3];
        for(int i=0; i<a.length; i++) {
            if(a[i] != null) { //this line complains...
                System.out.println('null!');
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

java arrays int null

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

反思:如何获取by-ref类型的基础类型

我很惊讶地发现"ref"和"out"参数没有用特殊属性标记,尽管存在ParameterInfo.IsOut,ParameterInfo.IsIn(据我所知,它们都是假的),ParameterAttributes.在和ParameterAttributes.Out中.相反,"ref"参数实际上由一种特殊类型的"Type"对象表示,"out"参数只是具有附加属性的ref参数(我还不知道哪种属性).

无论如何,要创建一个by-ref参数,你可以调用Type.MakeByRefType(),但我的问题是,如果你已经有一个by-ref类型,你如何回到原始类型?

提示:它不是UnderlyingSystemType:

Type t = typeof(int);
Console.WriteLine(t.MakeByRefType().UnderlyingSystemType==t); // FALSE
Run Code Online (Sandbox Code Playgroud)

.net reflection byref

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