问题列表 - 第8095页

WPF/MVVM应用程序的数据层框架的最佳特征是什么?

我正在创建一个WPF/MVVM框架,它为模型类生成代码.

我打算为每个数据库表/ web服务(例如"Customers")提供两个模型类:

  • 单一模型类(例如"客户")
  • 和复数模型类(例如"客户")

单一模型类拥有其所有属性(名字,姓氏等),再加上它的所有方法,其意义为单一实例,例如保存(),删除(),CalculateSalary()等.

复数模型类具有奇异的模型对象))的集合,加上同样的方法,因为你想还上一组奇异的对象执行,如保存(),删除(,CalculateSalary(,也特别的方法,如排序(),以及使某些组非常容易的方法,例如LoadAllGoldCustomers(),甚至LoadWithSql(string sql)等.

我之前已经完成了这样的框架(PHP),它非常容易编写和理解这样的代码:

Customers customers = new Customers("all");
customers.CalculateSalary();
Run Code Online (Sandbox Code Playgroud)

一对继承的类(Item和Items)从每个数据库表的单个和复数类中获取了大部分代码,这使得编程非常干净.

但是,我很少看到其他应用程序做这个奇异/复数模型类拆分.相反,每个数据库表几乎总是只有一个类,例如Customer,这个类有任何必要的复数方法,例如GetCustomers(string sql)等.

我刚刚在WPF Model-View-ViewModel Toolkit 0.1演练中注意到,他们让你的两个模型为他们的"Models"目录两个类:

  • Customer.cs(仅限字段)
  • CustomersDataSource.cs(一个List Load()方法)

似乎是一个类似的概念,只是"复数"类被称为数据源.

所以现在我要创建另一个基于WPF/MVVM的框架,并且可以决定我想要如何构建模型类.我希望框架是:

  • 从ViewModel清晰且易于编程,因此明确分离单个和多个模型类,您应该只需要实例化一个单数或复数类并在其上调用一个方法,然后就可以获得数据了.
  • 适合MVVM模式(我理解这意味着保持尽可能简单,只需要ViewModel可以调用的属性和方法,但不实现WPF特有的功能,如INotifyProperityChanged)
  • 希望我的数据层位于任何数据源之上,所以如果我使用LINQ-to-SQL,我仍然会调用我自己的模型类,如果我想切换到在Oracle中保存,我会为我的类编写一个较低的数据适配器层来进行交互接着就,随即.
  • 尽可能最好的方式利用LINQ

我会从那些谁开发datalayers用于特别是使用WPF/MVVM /复合应用程序库和框架欣赏反馈什么样的特点你找到最好的工作,或者如果你有其他框架,如里昂证券,亚音速,等工作同样,任何经验或关于LINQ如何更改/简化构建数据层结构的想法.谢谢.

wpf frameworks mvvm

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

Wpf - 接收框架元素属性的属性值更改通知

如何挂钩FrameworkElement属性的属性值更改通知?我们在运行时加载xaml,对于可视化树中的每个元素,我们需要连接一些东西来接收属性值更改通知,当有人更改元素的属性值时.

如果存在的话,最好的方法是什么?

.net c# wpf xaml

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

无法(或能够)列出<int> .Cast <Enum>()?

请尝试以下代码

public enum Color
{
    Blue=1,
    Red=2, 
    Green=3 
}

public List<Color> ConvertColorEnum()
{
    var intColor = new List<int>(){1,2,3};
    return intColor.Cast<Color>().ToList();
}
Run Code Online (Sandbox Code Playgroud)

你认为它ConvertColorEnum()会返回一个颜色列表,即List<Color>(){Color.Blue, Color.Red, Color.Green}

我在2台机器上进行了测试,一台使用.net 3.5(mscorlib版本2.0.50727.1433),另一台使用.net 3.5 SP1(mscorlib版本2.0.50727.3082).结果不同 - .net 3.5抛出一个InvalidCastException因为无法将整数转换为枚举,而.net 3.5 SP1可以成功运行,返回正确的结果.

任何人都想在他/她的机器上试一试并报告结果或解释为什么会这样?

c#

9
推荐指数
3
解决办法
5496
查看次数

ImageIcon + ImageIcon = ImageIcon

我有两个ImageIcons,我想创建第三个在nr 1上绘制nr 2的ImageIcon.我最好怎么做?

java graphics

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

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

跨平台Objective-C/C++开发

我在一个开发人员团队中工作,我们其中一人专门在Windows下工作,我主要在Mac OS X中工作.我们想要用C++或Objective-C开发基于C的应用程序但是我不是很了解如何进行跨平台开发项目.

使用Mac OS X在C++中工作是否可行?显然,他们面向Objective-C,但是对C++的支持也是如此.那些语言的跨平台开发呢?我会使用类似boost和某种UI库的东西.

有没有人有过开发多平台的经验,但允许应用程序在不需要VM的情况下本地运行?

编辑:现在我想要标记为正确的答案很多.似乎Qt是用C++开发它的方法.这可能适用于*nix,OS X和Windows,因此这对我们个人来说是最好的选择.如果我可以避免编写Objective-C,那么团队会坚持使用C++,那就更好了.如果我必须在Objective-C中编写GUI并进行混合和匹配,那么也不会太麻烦.

c++ windows macos objective-c

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

自定义HttpHandler未触发,在ASP.NET MVC应用程序中返回404

我不知道在MVC网站上发生这种情况是否相关,但我认为无论如何我都会提到它.

在我的web.config中,我有以下几行:

<add verb="*" path="*.imu" type="Website.Handlers.ImageHandler, Website, Version=1.0.0.0, Culture=neutral" />
Run Code Online (Sandbox Code Playgroud)

在网站项目中,我有一个名为Handlers的文件夹,其中包含我的ImageHandler类.它看起来像这样(我已经删除了processrequest代码)

using System;
using System.Globalization;
using System.IO;
using System.Web;

namespace Website.Handlers
{
    public class ImageHandler : IHttpHandler
    {
        public virtual void ProcessRequest(HttpContext context)
        {
            //the code here never gets fired
        }

        public virtual bool IsReusable
        {
            get { return true; }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我运行我的网站并转到/something.imu它只会返回404错误.

我正在使用Visual Studio 2008并尝试在ASP.Net开发服务器上运行它.

我一直在寻找几个小时,并让它在一个单独的空网站上工作.所以我不明白为什么它不能在现有的网站内工作.没有其他引用*.imu路径顺便说一句.

c# asp.net-mvc httphandler

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

通过在Hibernate中映射表值进行排序

我有一个@ManyToMany映射,其中表通过映射表自引用,我们想要在实际映射表中对订单ID进行排序,但发现很难配置它.

我们可以在hibernate xml中执行它,所以很自然地假设JPA注释中有支持.有人知道我们如何对映射表中的值进行排序吗?

该表是:

wap_site_components

intid
strname
intcomponentdef
dtmcreated      
intcustomer 
Run Code Online (Sandbox Code Playgroud)

以及自引用的映射表是:

wap_site_component_relations

intid     
intparent (references intid in wap_site_components)
intchild  (references intid in wap_site_components)
intorder (this is the value we want to order the collection on)
Run Code Online (Sandbox Code Playgroud)

在Hibernate Annotations中我们有:

@ManyToMany (fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable (name = "wap_site_component_relations", 
    joinColumns = {@JoinColumn (name = "intparent", referencedColumnName = "id") }, 
    inverseJoinColumns = {@JoinColumn (name = "intchild", referencedColumnName = "id") })
public Set<WapComponent> getChildren() {
    return children;
}
Run Code Online (Sandbox Code Playgroud)

这是我们在hibernate xml中执行它的方式:

        <set
          name="children"
          table="wap_site_component_relations" …
Run Code Online (Sandbox Code Playgroud)

java many-to-many hibernate jpa sql-order-by

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

在JSP中获取当前文件名

有没有办法通过JSTL或Struts(或不使用)获取当前呈现的JSP?喜欢Python和PHP中的_ _ file _ _?

java jsp struts jstl

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

Python和集体智慧

我正在读Toby Segaran的一本名为"编程集体智慧"的好书(我强烈推荐)

代码示例都是用Python编写的,因为我今年已经学会了一种新语言(从VB.net毕业到C#),我并不热衷于跳上另一条学习曲线.

这留下了将python示例转换为C#的问题.

问题是:代码保留在python中有多重要?在python中有什么东西我不能用普通的托管静态类型语言做吗?

python collective-intelligence

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