私のクラスの多くは、よく知られていますが、異なるタイプの順序付けられていないオブジェクトのコンテナです。次のようにコンテナが見えることがあります。 public class Container
{
public A A { get; private set; }
public B B { get; private set; }
public C C { get; p
現在、Rubyの実用的なオブジェクト指向デザインを読んで、シンプルなカタを使って実際に議論しているプリンシパルのいくつかを実践しています。 私は次のことを行い方法があります: def release_bike
capacity_empty_error if empty?
bike
end
これは私のクレードルクラスから(私はバイクのオブジェクトが引数であることを認識してい
に、私は同じことを書いている2つのスタイル見ればVS:-ベストプラクティス次/望ましい/より正確である1 def find_nest(animal)
if animal.bird?
GPS.find_nest(animal.do_crazy_stuff)
end
end
対 def find_nest(animal)
return unless ani
あなたのクラスで爆発を管理するために人々が(もしあれば)どのようなアプローチを取っていますか?例: public void SomeMethod<T>(string var1, IEnumerable<T> items, int count)
{
if (string.IsNullOrEmpty(var1))
{
throw new ArgumentNullExc
common surpriseは以下が不完全一致であるという事実である: let x, y = 5, 10
match something with
| _ when x < y -> "Less than"
| _ when x = y -> "Equal"
| _ when x > y -> "Greater than"
しかし、私はちょうど私を驚かせたような状況に遭遇しました。こ
のチェック、私は通常、そうのようなチェックガードを実行します。 public void doStuff(Foo bar, Expression<Func<int, string>> pred) {
if (bar == null) throw new ArgumentNullException();
if (pred == null) throw new ArgumentNul
関数型プログラミング言語(Haskell/F#/ Caml)のパターンマッチング機能を使って同じ値に対して複数回一致させることができるかどうかは不思議でした。 ちょうど次の例を考える:機能(aに格納される)2つの類似の値で呼び出されたとき plus a a = 2 * a
plus a b = a + b
最初の変異体と呼ばれるであろう。 より有用なアプリケーションはこれです(ASTを単純化