小编Han*_*ele的帖子

构造函数与工厂方法

建模类时,首选的首选方法是什么:

  1. 构造者,或
  2. 工厂方法

使用其中任何一个会有什么考虑因素?

在某些情况下,我更喜欢有一个工厂方法,如果无法构造对象,则返回null.这使代码整洁.在执行替代操作之前,我可以简单地检查返回的值是否为null,与从构造函数中抛出异常相反.(我个人不喜欢例外)

比如说,我在类上有一个构造函数,它需要一个id值.构造函数使用此值从数据库填充类.如果不存在具有指定标识的记录,则构造函数将抛出RecordNotFoundException.在这种情况下,我将不得不在try..catch块中包含所有这些类的构造.

与此相反,我可以在这些类上有一个静态工厂方法,如果找不到记录,它将返回null.

在这种情况下,哪种方法更好,构造函数或工厂方法?

oop ooad

172
推荐指数
9
解决办法
7万
查看次数

如何编写一个每天午夜运行脚本的cron?

我听说过crontab是一个不错的选择,但是如何编写该行以及我将它放在服务器上的哪个位置?

ubuntu cron

131
推荐指数
4
解决办法
18万
查看次数

如何匹配除特定字符之外的任何非空格字符?

在Perl中\S匹配任何非空白字符.

如何匹配除反斜杠之外的任何非空白字符\

regex perl

100
推荐指数
3
解决办法
17万
查看次数

convert_tz返回null

我知道这听起来很愚蠢,但是当我使用时

SELECT CONVERT_TZ('2004-01-01 12:00:00','UTC','Asia/Jakarta') AS time
Run Code Online (Sandbox Code Playgroud)

它输出NULL.我在Ubuntu 12.04 64位中使用MySQL Workbench,它可以在我的其他笔记本电脑/操作系统(也使用MySQL Workbench)中运行.

mysql ubuntu-12.04 convert-tz

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

Xcode错误连接到模拟器"软件导致连接中止"

当我尝试通过Xcode模拟器运行我的项目时,它一直给我错误"软件导致连接中止".

尝试重新启动模拟器和Xcode,我最近删除了DerivedData文件夹,如本帖所述,关于破碎的游乐场,所以也没有帮助.

xcode ios-simulator

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

CSS是一种什么样的语言?

CSS是一种什么样的语言?

我的第一个倾向是称它为标记语言......但它并不适合模具:

标记语言是用于以在语法上与该文本区分的方式来注释文本的系统.- 维基百科

CSS使用不同的选择适用属性的元素的HTML,标记语言

css definition

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

内部抽象类:如何隐藏程序集外的用法?

我有一个公共程序集/项目,它有一个抽象基类,然后是几个我想公开给其他程序集的派生类.

我不希望抽象基类出现在Intellisense中的这些其他程序集中,所以我想我会成功internal,但是我得到了这个错误:

可访问性不一致:基类"设置"比"IrcSettings"类更难访问....

我真的不明白.我被迫制作抽象Settingspublic,因此在这个程序集之外可见.

我怎样才能成为这门课internal呢?

c# inheritance abstract-class access-modifiers

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

由于CDI/Weld中的@Named,@ ManagedBeans在JavaEE6中是否已过时?

由于CDI(及其实现Weld),JEE6中的每个POJO都可以注释@Named,这使得POJO可以被视图访问.

这是否意味着ManagedBeans现在已经完全过时了?还是我错过了@ManagedBean仍然有意义的东西?

jsf java-ee jsf-2 jboss-weld

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

将IP字符串转换为数字,反之亦然

我如何使用python将一个IP地址转换为str十进制数,反之亦然?

例如,对于IP 186.99.109.000 <type'str'>,我希望有一个十进制或二进制形式,易于存储在数据库中,然后检索它.

python django

41
推荐指数
7
解决办法
7万
查看次数

Pandas数据框基于多个if语句添加字段

我对Python和Pandas很陌生,所以这可能是一个显而易见的问题.

我有一个列有年龄的数据框.我想创建一个带有年龄段的新领域.我可以使用lambda语句捕获单个if/else语句,但我想使用多个if,例如if age < 18 then 'under 18' elif age < 40 then 'under 40' else '>40'.

我不认为我可以使用lambda做到这一点,但我不知道如何以不同的方式做到这一点.到目前为止我有这个代码:

import pandas as pd
import numpy as n

d = {'Age' : pd.Series([36., 42., 6., 66., 38.]) }

df = pd.DataFrame(d)

df['Age_Group'] =  df['Age'].map(lambda x: '<18' if x < 19 else '>18')

print(df)
Run Code Online (Sandbox Code Playgroud)

python lambda

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