問題タブ [namespace-organisation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3269 参照

java - 名前空間間のクラス命名の衝突に取り組むための最良のアプローチ

同じ名前の2つのクラス間で翻訳するために取り組んでいるヘルパークラスで問題が発生しています。どちらのクラスも私の管理範囲外なので、単に名前を変更することはできません。

私の基本的なオプションはすべて、少なくとも1つのタイプの名前空間を完全に宣言することを含みます。

または逆のアプローチ:

または、より明示的なパターンの場合は、両方の名前空間を宣言します。

これらのメソッドシグネチャを整理する可能性のある別のソリューションはありますか?ある種のC++「typedef」スタイルのソリューションが可能かどうか疑問に思っていますか?

0 投票する
1 に答える
2115 参照

php - DDD: ドメイン モデルの名前空間の規則

PHP でドメイン モデルを使用してアプリケーションを作成していますが、どの命名規則を採用すべきか迷っています。

Customerがあり、Addressその集約ルート内 に があるとしましょう。
また、集約ルート内Productに を持っています。Option

私には2つの選択肢があります:

  1. 集約ルートをドメイン モデルのルートに保持します。

    長所:同じ名前空間で 両方を使用できCustomerます短所:独自のものを次のように参照する必要がありますProduct
    CustomerAddressCustomer\Address

  2. 集約ルートを含め、すべての集約クラスを同じ名前空間にグループ化します。

    Pro :CustomerそのアドレスをAddress
    Conとして参照できます。ルート ドメインの名前空間から参照する必要があります。

    • CustomerなのでCustomer\Customer
    • ProductなのでProduct\Product
0 投票する
1 に答える
102 参照

f# - F#-ファイル内のアルゴリズムの編成

さまざまなアルゴリズムを整理する良い方法が見つかりません。今日のファイルは次のようなものです:

1/Excelからの値の抽出

2 / "let matriceAlgo1 ="で始まるこれらの値(Excelから抽出)に基づく最初のアルゴリズム

3/同じ値から始まる2番目のアルゴリズム"letmatriceAlgo2 ="

4 /合成アルゴリズム、2 /および3/の加重平均(いくつかの値に依存)を実行し、表示する結果を選択します。"let matriceSynthesis ="

私の質問は次のとおりです。名前で呼び出すには、このファイルのさまざまな部分の前に何を置く必要がありますか?モジュールが答えになる可能性があることを説明する答えを見たことがありますが、私の場合(またはそれが良い答えでない場合は他の何か)にそれを適用する方法がわかりません。最後に、次のようなものを書きたいと思います。これ :

「抽出を開始

最初のアルゴリズムを起動する

2番目のアルゴリズムを起動する

合成の起動」

0 投票する
1 に答える
100 参照

ruby-on-rails - 名前空間コントローラーとネスト リソース

名前空間とネストされたリソースの両方を使用するのはひどい考えですか?

たくさんのコントローラーを備えた管理エリアが必要です。その領域の一部のリソースは、入れ子にするのが理にかなっています。たとえば、次のようになります。

このように名前空間を設定しながら:

このような名前空間内でネストを使用することは可能ですか/良い考えですか? 物事をどのように構築すればよいですか?

0 投票する
1 に答える
324 参照

c# - ビジネス層の分解とビジネス オブジェクトの種類

ビジネス ロジック層には、ビジネス ロジックを含むビジネス オブジェクトが含まれます。それらのいくつかは永続的であり、それらはエンティティです。エンティティとそのロジックがモデルを構成します。それらの一部はステートレスであり、エンティティの責任に適合しない追加のロジックが含まれています。これらのオブジェクトはサービスです (モデルの一部でもありますか?)。

次に、マネージャー、ファクトリー、ビルダーなどのヘルパー/ユーティリティ クラスがいくつかあります。今のところ、この分解は正しいですか?

次に、エンティティまたはサービスではなく、状態を含むことができるオブジェクトがあります。独自のスレッドを持つアクティブなオブジェクト。長生きできる。それらのオブジェクトは何ですか? ビジネスオブジェクトだけですか、それともビジネスコンポーネントですか?

私のプロジェクトには Device クラスがあります。DBに格納されるので、最初はEntityオブジェクトのように扱いました。実際のデバイスから定期的にデータを取得し、そのデータで複雑なロジックを実行する独自のスレッドが含まれています。したがって、それはアクティブで長寿命のオブジェクトです。重い/複雑でアクティブで長寿命のオブジェクトであるため、エンティティになれないことに気付きました(または???)。だから私はそれを別々のクラスに分割しました:

  • 現在エンティティである DeviceDescriptor と
  • 複雑なビジネス ロジックを含む DeviceAccess (または Device ) は、存続期間が長く、アクティブです。また、DeviceDescriptor オブジェクトに基づいて初期化されます。

この DeviceAccess オブジェクトはどのような種類のビジネス オブジェクトですか?

このような構造のプロジェクトがある場合、Device/DeviceAccess オブジェクトは名前空間階層のどこに配置する必要がありますか?

  • ProjectName.Core – コア オブジェクト、ビジネス オブジェクト
  • ProjectName.Core.Entities – 持続性ビジネス オブジェクト
  • ProjectName.Core.Services – サービス インターフェイス
  • ProjectName.Core.Services.Default – サービスの実際の実装
  • ProjectName.Core.Repositories – (DAL レイヤー) リポジトリ インターフェイス
  • ProjectName.Core.Repositories.SqlServer – リポジトリの実際の実装

まず、このオブジェクトを Core 名前空間に配置する必要があると考えました。しかし、別のコンポーネント/モジュールまたは機能のように扱い、 Core 名前空間の外に ProjectName.Devices (他のヘルパー オブジェクト、リポジトリ、およびエンティティ - DeviceDescriptor と共に) を配置する方がよいのではないかと考えました。どう思いますか?

名前空間の構成が正しいかどうかも教えてください。DDDによるガイドではありませんでした。これは、DDD からいくつかの概念を借用した 3 層アーキテクチャです。(リポジトリ、集約ルート、サービス、モデル)。

アドバイスをいただければ幸いです。

0 投票する
3 に答える
6778 参照

javascript - Meteor パッケージからアプリの名前空間にエクスポートするにはどうすればよいですか?

Meteor パッケージの書き方 は知っていますが、このプレゼンテーションで説明されているように、すべてのエクスポートをアプリの名前空間に配置する方法がわかりません。

この特定のパッケージは、私が構築しているアプリに固有のものであり、アプリのシングルトンでデコレーターと見なすことができるメソッドを 1 つだけエクスポートします。試してみapi.export('MyApp.myMethod')ましたが、エラーが発生しますnative: Bad exported symbol: MyApp.myMethod

だけapi.export('myMethod')の場合、アプリ コードで を呼び出す必要がありますmyMethod()が、これは名前空間ではありません。

Meteor は Node と同様のメカニズムを持っていますvar http = require('http');か? または、パッケージはどのようにして特定の名前空間にシンボルをエクスポートできますか?

0 投票する
1 に答える
149 参照

repository - Docker の自動ビルド リポジトリを組織のプライベート リポジトリに切り替えることができない

自動ビルド リポジトリをプライベート リポジトリに切り替えようとすると、プランをアップグレードする必要があるというメッセージが表示されました。私は無料プランを利用しています (プライベート リポジトリは 1 つだけです)。実際には、プライベート セクションに以前のリポジトリがあり、それを削除しました。その後、「(used 0 of 1)」というメッセージが表示されました。したがって、この時点ではすべてが正しいようです。私の名前空間は組織である「org4svcorp」です。

名前空間フィールドの組織を使用してリポジトリ (自動ビルドではない) を追加しようとしても、「リポジトリの最大数に達しました」というメッセージが表示されます。

この組織は、許可されているリポジトリの最大数に達しました。組織の所有者の 1 人に、組織の請求ページでプランをアップグレードしてもらってください。」

ここでも、プライベート リポジトリのステータスは「(used 0 of 1)」です。

組織に制限はありますか?

どうも!