有没有办法在不迭代List并将项添加到ObservableCollection的情况下执行此操作?
我最近阅读了一个关于OOP相关问题的有趣评论,其中一个用户反对创建"Manager"类:
在谈论课程名称时,请从词汇表中删除单词manager.该类的名称应该描述其目的.经理只是倾销的另一个词.任何功能都适合那里.这个词一直是许多极端糟糕设计的原因
这个评论体现了我努力成为一个优秀的面向对象的开发人员.我一直在一个只有程序编码人员的组织里做过程序代码.看起来我们生成的相对较少的OO代码背后的主要策略是将问题分解为易于识别为离散单元的类,然后将左侧/广义位放在"Manager"类中.
我怎样才能打破我的程序习惯(比如Manager类)?大多数OO文章/书籍等使用本质上易于转换为对象组的问题的示例(例如,车辆 - >汽车),因此不提供用于分解更复杂系统的大量指导.
Dim xml = <Root>
<Parent id="1">
<Child>Thomas</Child>
</Parent>
<Parent id="2">
<Child>Tim</Child>
<Child>Jamie</Child>
</Parent>
</Root>
Dim parents = xml.Elements
Run Code Online (Sandbox Code Playgroud)
在这种情况下,children包括所有Parent元素和所有Child元素.抓住直接后代的最佳方法是<Root>什么?
我应该编写一个LINQ查询来选择parent = <Root>?或者是否有一些我遗漏的内置方法可以为我解决这个问题?
编辑:我XElement.Elements和之间有一些混淆XElement.Descendants.正如Ruben Bartelink所指出的那样,XElement.Elements我会给我一些正在寻找的东西.
我对.NET编程(以及一般的OOP)比较陌生,我想确保在设计应用程序时我没有养成糟糕的初学者习惯.
如果您正在招聘一名新的.NET开发人员,并且必须让他加快速度,但也希望确保他采用最佳实践(例如,单一责任原则,单元测试,关注点分离),那么您的建议是什么?学习路径?
我最近一直在听多态播客,虽然听取最佳实践的讨论是有帮助的,但我发现缺少屏幕录像和代码示例,旨在介绍这些最佳实践.
我在我的Rails 3应用程序中使用Devise进行身份验证.该应用程序使用PostgreSQL模式和Apartment gem来促进多租户.
创建帐户后,登录和退出特定子域名的工作正常.用户只能在子域上登录其特定帐户,这很棒.
这是我遇到问题的地方......
全新用户点击注册网址:
http://foo.com/signup
默认情况下,当他们单击"提交"时,会创建新帐户,但会将用户发送到:
http://foo.com/dashboard
相反,我希望他们去:
http://myaccount.foo.com/dashboard
为了实现这一点,我覆盖了after_sign_up_path_for我的registrations_controller.rb文件中的方法:
def after_sign_up_path_for(resource)
root_url(:subdomain => resource.account.subdomain)
end
Run Code Online (Sandbox Code Playgroud)
这按预期工作 - 它加载正确的URL - 但用户的会话是为根域(foo.com)而不是子域创建的,因此要求用户登录.
我发现的一个建议是config/initializers/session_store.rb改为:
config.session_store :cookie_store, :key => '_domain_session', :domain => :all
Run Code Online (Sandbox Code Playgroud)
但这允许任何人登录任何子域的帐户,这显然不是很酷.
问题:如何确保注册时创建的会话对注册过程中创建的子域有效
我的窗户上有一堆控件.其中一个是刷新按钮,它在后台线程上执行繁琐的任务.
当用户单击刷新按钮时,我将光标置于等待(沙漏)状态并禁用整个窗口 - Me.IsEnabled = False.
我想通过让用户点击取消按钮来支持取消刷新操作,但是在整个窗口被禁用时我无法做到这一点.
有没有办法这样做除了逐个禁用每个控件(取消按钮除外),然后在用户点击取消时逐个重新启用它们?
我是一名.NET开发人员,他对Python知之甚少,但我想为我正在开展的一个小项目试用它.
我应该在自己的机器上安装哪些工具和包?我正在寻找一个通用的,有点全面的开发环境.
我可能会运行Ubuntu 9.10,但我很灵活.如果Windows是更好的选择,那也没关系.
编辑:为了澄清,我不是在寻找最低限度来运行Python程序.我不希望新手.NET开发人员使用记事本和编译器.我推荐Visual Studio,NUnit,SQL Server等.
我一直在研究OOP已经有一段时间了,我对这个理论有了很好的把握.我阅读了关于OOP 的Head First书,虽然它强化了很多理论,但我发现案例研究有点微不足道.
我发现我每天都会将OOP原则应用到我的代码中,但我不确定我是否正确应用它们.我需要到达能够查看我的代码并知道我是否正确使用继承,我的对象是否足够内聚等等.
有没有人有任何好的建议(书籍,在线指南,博客,演练等),以便在开发可靠的OOP技能方面迈出下一步?
我主要在.NET(visual basic)工作,但我欢迎包含各种平台的建议.
我开始使用名为ILogin的通用接口.接口要求您实现两个属性:UserID和Password.我有许多实现此接口的登录类型.随着我的项目的成长和发展,我发现许多类重复了UserID和Password代码.现在我决定我需要一个基本的登录类.
创建一个实现ILogin接口的抽象基类Login类是否合适,并且所有具体类都是从抽象类继承并在必要时覆盖?最初我觉得这没问题.然后我开始认为ILogin可能不需要,因为它可能只能由我的抽象类实现.
保持抽象类和接口都有好处吗?
谢谢!
我正在阅读关于MD5哈希值的这个问题,接受的答案让我困惑.据我所知,cryptopgraphic哈希函数的一个主要属性是找到具有相同哈希值的两个不同消息(输入)是不可行的.
然而,为什么MD5哈希值不可逆的问题的共识答案呢?是由于输入字符串的无限数量将产生相同的输出. 这似乎与我完全矛盾.
另外,令我困惑的是,算法是公开的,但哈希值仍然是不可逆的.这是因为散列函数中总是存在数据丢失,因此无法分辨哪些数据被丢弃了吗?
当输入数据大小小于固定输出数据大小时(例如,散列密码"abc")会发生什么?
编辑:
好的,让我看看我是否有这个:
oop ×4
.net ×2
ooad ×2
vb.net ×2
class-design ×1
code-behind ×1
collections ×1
controls ×1
cryptography ×1
devise ×1
hash ×1
interface ×1
linq-to-xml ×1
list ×1
multi-tenant ×1
python ×1
wpf ×1
xaml ×1
xml ×1