我目前正在研究域驱动设计,并尝试将其应用于WPF项目.我观看了一些教程视频,并阅读了很多文章,例如:
我理解对接口和控制反转的关注.我读到有一些经常出现的层名称(域/核心用于表示知识领域,基础设施用于持久性,应用程序用于......我不明白),但它们会根据我阅读的文章而改变.有些人甚至没有出现.
是否有可能拥有一个理论上在洋葱架构中需要面对所有需求和问题的所有层的列表,它们的意图(它们包含什么样的代码,它们试图满足什么样的需要) ,他们需要参考哪一层),好吗?
.net c# architecture domain-driven-design onion-architecture
我有以下代码:
Func<string, string> func1 = (param) =>
{
Console.WriteLine("Func 1 executing");
return "Hello" + param;
};
Func<string, string> func2 = (param) =>
{
Console.WriteLine("Func 2 executing");
return "World" + param;
};
Func<string, string> funcSum = func1 + func2;
string funcResult = funcSum("!");
Console.WriteLine(funcResult);
Run Code Online (Sandbox Code Playgroud)
输出是:
Func 1 executing
Func 2 executing
World!
Run Code Online (Sandbox Code Playgroud)
反转总和:
Func<string, string> funcSum = func2 + func1;
Run Code Online (Sandbox Code Playgroud)
给出输出:
Func 2 executing
Func 1 executing
Hello!
Run Code Online (Sandbox Code Playgroud)
我的初始测试是使用布尔返回类型完成的,返回的值也始终由最后一个函数确定.它是按预期工作的吗?我们不是在失去其他功能的回报价值吗?如果是这样,在现实世界中是否存在这些多播功能委托的用例?
我目前正在做本教程(http://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial),但我无法回答问题 8:
一些国家的人口是其邻国(同一大陆)的三倍以上。给国家和大陆。
.. 而我当前的查询不会被接受为答案:
SELECT x.name, x.continent FROM world x
WHERE (x.population * 3) > ALL (
SELECT y.population FROM world y
WHERE x.continent = y.continent )
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?答案是什么 ?
我正在使用 DDD 开发一个 C# 项目。我写了一些课程。有些属于实体类别,有些属于值对象类别。我的问题是,为了忠实于实体和值对象的定义,必须或应该做多少工作?
实体:
值对象:
这些是可以执行这些概念的可能性,但是,这些是强制性的吗?因为应用 DDD 概念,创建这些工厂、那些静态方法、重载和重写所有这些方法似乎是一个巨大的负载或少量的工作。
我应该走多远?
我已经为一个个人应用程序和增强功能开发了一个移动应用程序一个星期。我对WPF和MVVM有一定的经验,对移动开发没有经验。
这个想法是在测试一些编码原则的同时,制作一个跨平台应用程序:
我计划使用以下组件:
我的Visual Studio的当前结构如下:
我管理以下内容:
一个问题是,网络上有几篇文章比较了Prism和ReactiveUI(google Prism与ReactiveUI)。
所以问题是:我同时使用两者是否做错了?
我现在没有问题,但是我会碰到一个吗?即使我没有,同时使用它们是否有意义?
案子
我有两个Web表单,还有一些代码隐藏。第一个网络表单是一个公式编写器,我在其中输入一个字符串。我想使用post方法将该字符串发送到第二个公式,并显示它。
问题
我收到一条错误消息,说无法验证MAC Viewstate:
应用程序“ /”。验证MAC Viewstate。在群集中使用电池和电池的应用程序,可确保配置的有效性,并验证算法的有效性。自动生成群集的新peutpasêtreutiliséedans。
我究竟做错了什么 ?
Webform1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server" action="WebForm2.aspx" method="post">
<div>
Enter your first name : <input type="text" name="FirstName"/><br />
<input type="submit" />
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Webform2.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebApplication1.WebForm2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> …Run Code Online (Sandbox Code Playgroud) 我有以下XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:self="clr-namespace:WpfApplication1"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Label Name="lblTime" FontSize="48" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
代码隐藏是:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick += timer_Tick;
timer.Start();
GC.Collect();
}
void timer_Tick(object sender, EventArgs e)
{
lblTime.Content = DateTime.Now.ToLongTimeString();
GC.Collect();
}
}
Run Code Online (Sandbox Code Playgroud)
我知道的一些事实:
在代码隐藏中,MainWindow不保留对计时器的任何引用.在我看来,它应该被销毁,界面不应该再更新,因为我放了一些GC.Collect调用.但它似乎不起作用,因为接口仍在更新,因此,对象仍然存在.
问题是:发生了什么?我错了吗?还是我错过了一些重要的事实?
编辑1:这段代码实际上是我在教程中找到的一个例子,展示了如何使用DispatcherTimer.但是我想知道当垃圾收集开始时会发生什么,这就是为什么我添加那些GC.Collect以便看看会发生什么.感谢我读过的关于.NET GC的大量教程,我知道调用GC.Collect是一个坏主意,除非非常特殊,否则不应该这样做.
c# ×6
.net ×3
architecture ×3
asp.net ×1
html ×1
prism ×1
reactiveui ×1
sql ×1
webforms ×1
wpf ×1