問題タブ [namespaces]
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.
c++ - メンバー関数がすべて static であるクラスの作成を防止する
クラス ClassA のメンバー変数とメンバー関数はすべて静的です。
ユーザーが (誤って) このクラスのオブジェクトを作成しようとすると、次のような警告が表示されます。したがって、ユーザーがこのクラスのオブジェクトを作成しようとするのを防ぎたいと思います。
プライベートなデフォルト (変数なし) コンストラクターを作成するだけで十分でしょうか? または、プライベート コピー コンストラクターとプライベート代入演算子も作成する必要がありますか (既定のコンストラクターを使用しないようにするため)。また、それらも作成する必要がある場合は、代わりにダミーの純粋仮想関数を作成する方がよいのではないでしょうか。これにより、ユーザーはオブジェクトを作成できなくなりますか?
ありがとうございました
.net-2.0 - Using .net 3.0 namespaces in .net 2.0
Is there anyway to make it possible to use .net 3.0 namespaces in a .net 2.0 application? I'm specifically looking to use the System.Windows.Media.Media3D namespace.
Edit: I am looking to use the actual assemblies, not just the namespaces. Poor wording on my part.
c++ - 名前のない名前空間が使用される理由とその利点は何ですか?
新しい C++ ソフトウェア プロジェクトに参加したばかりで、その設計を理解しようとしています。プロジェクトは、名前のない名前空間を頻繁に使用します。たとえば、クラス定義ファイルで次のようなことが発生する場合があります。
名前のない名前空間を使用する原因となる設計上の考慮事項は何ですか? 長所と短所は何ですか?
c++ - ヘッダー ファイルでの匿名名前空間の使用
今日、誰かがヘッダー ファイルで匿名の名前空間を使用してはならないことを SO で主張しました。通常はこれで問題ありませんが、標準ライブラリの 1 つがヘッダー ファイルで匿名の名前空間を使用して何らかの初期化を実行していると誰かに言われたことを覚えているようです。
私は正しく覚えていますか?誰か詳細を記入できますか?
c++ - C ++名前空間:相互使用
次の例を考えてみましょう。これは2つのヘッダーファイルで構成され、2つの異なる名前空間を宣言します。
2つ目は
そして、単一のソースファイルmain.cpp
:
このようにコンパイルされません(GCCとMSVCを試しました)。エラーは、a1
名前空間が宣言されていないことです(WindowsではC2653)。この方法でインクルード順序を変更した場合main.cpp
:
対称的なエラーメッセージが表示されます。つまり、a2
名前空間が宣言されていません。
どうしたの?
naming-conventions - プロジェクトの命名
初心者/中級の開発者として、OOP の原則を使用するにつれてプロジェクトが大きくなり、抽象化が進むにつれて、私が遭遇する 1 つの問題があります。名前付けに問題があります。複数のプロジェクトやクラス ライブラリがある場合のように、それらに名前を付ける方法がわかりません。xxx.Core から xxx.Main まで、または xxx.BLL と xxx.DAL まで見たことがあります。他の人を見ていると、ライブラリと名前空間の xxx.Services と xxx.Data が見つかりました。
次に、それが解決されたら、DTO をどうするかということです。その領域で、xxx.DTO、xxx.Entities、xxx.Props を見てきました。
コーディング中にライブラリ、メソッド、インターフェースなどに名前を付けるための良いガイドラインは何ですか。それにより、私の後にプロジェクトを始めるときに、より多くの人が物事を理解できるようになります。
.net - 懐疑的な同僚に .Net の適切な名前空間を納得させるにはどうすればよいですか?
私のチームは、1 つの製品 (ただし多くのファセットを含む) を VB6 から .Net (最大 30 万 LOC) に変換する変換プロジェクトに取り組んでいます。私が参加する前に、アセンブリの場所やフォルダー構造に関係なく、すべてのクラス/構造体が 1 つの名前空間にあるという決定が下されました。
.
自動生成されたアプリケーション設定デザイナー コード、リソース デザイナー コードなどを変更して、統一性を強制することさえあります。名前空間の使用が適切であることを彼らに納得させるにはどうすればよいですか? 名前空間の適切な使用とは何ですか?また、長所と短所は何ですか? なぜ私の同僚が回線を使って節約するのにそんなに苦労するのか理解に苦しむことになると思います。あなたの議論をサポートするための外部の評判の良い参照は、非常に高く評価されます. 助けてください!
metadata - 必要なGreasemonkey名前空間は何ですか?
私はGreasemonkeyの使い方を学んでいて、@namespace
メタデータIDが何のためにあるのか疑問に思っていました。
Webアドレスである必要がありますか?または、それは私のコンピュータ上のフォルダ/ディレクトリである可能性がありますか?
記入する必要もありますか?
c# - C# オープン ソース プロジェクトの名前空間
C# で記述したクラス ライブラリの 1 つをオープン ソースとしてリリースすることを検討しています。それを行う前に、一般大衆の要求を満たすようにリファクタリングを試みています:)
使用するのに最適な名前空間スキーマは何でしょうか? 基本的に、次のオプションが表示されます。
- namespace MyTool : これは、私にとっては整理されているようには見えません。つまり、(ほぼ) .NET Framework のすべての名前空間には System というプレフィックスが付いているため、実際には標準的な方法ではないと思います。
- namespace MyOrganization.MyTool : 「MyOrganization」がまったくないという問題。暇つぶしに書いています。
- namespace MyName.MyTool : もっと控えめなものを好むでしょう。つまり、名前空間に自分の名前を入れたくありません。
現在、Stackoverflow には既にthisやthisなどの関連する質問がいくつかありますが、実際に私の質問に答えるものはありません。
助言がありますか?
namespaces - 名前空間の設計とクラスの認識
フレームワークまたはクラス ライブラリを設計するときは、名前空間内のクラスをどのように配置するかに注意する必要があると読んだことがあります (この本は .NET Framework の設計ガイドラインだったと思います)。具体的には、親の名前空間のクラスは、子の名前空間のクラスを認識してはなりません。逆に、子の名前空間のクラスが、その上の名前空間のクラスを認識していてもまったく問題ありません。
たとえば、System名前空間のクラスは、 System.Data.SqlClient名前空間のクラスについて何も知りません。ただし、System.Data.SqlClientのクラスは、 SystemおよびSystem.Dataのクラスを認識しています。
さて、額面どおりに考えると、これは非常に単純なアイデアです。ただし、これを実装するのが思ったほど簡単ではない場合もあります。クラスは、その性質上、本質的に相互に結合されています。例えば:
- ビジネスクラス
- データ エンティティ クラス
- データ エンティティ クラスをビジネス オブジェクト クラスにマップするクラス
- データベースとの間でデータ エンティティをシリアル化するクラス
確かに、これらをデータと機能を明確に分離する別個の個別のクラスに分けることができます。それは私の問題ではありません。私の問題は、名前空間のベストプラクティスを遵守する名前空間にそれらを適切に配置する方法です。
これはいつも私には少し曖昧に思えました。これが明確に対処されているのを見たことがありません。私が見たほとんどのサンプルでは、単にデータ オブジェクトをルート名前空間 (MyProject.DataObjects) または類似のものから切り離していました。誰も本当に確信が持てないかのように、私たちはそれについて話しません.
.NET Framework 自体の内部では、クラスが常に名前空間の境界を越えて、必要な機能にアクセスしていることがわかります。クラスは、 System.Collections、System.Collections.Generic、System.Runtime、System.Configuration、System.Reflectionなどの機能に頻繁にアクセスします。
名前空間に関しては、「自分の子供については何も知ることはできませんが、祖父母、叔母、叔父、姪の子供について知っておくべきことはすべて知ることができます」という暗黙のルールがあるかのようです。 、甥、いとこ。」このガイドラインは直感に反し、無意味に思えます。名前空間の設計が複雑になるようです。
だからここに質問があります
独自の大規模アプリケーションで名前空間をどのように設計しますか? 名前空間の境界を維持することについて本当に心配していますか? もしそうなら、クラスが明らかに関連している問題をどのように解決しますか?
私はあなたの経験と、これに関するあなたの意見に本当に興味があります. しばらくの間、私を悩ませてきました。ビジネス オブジェクト、データ エンティティなどを含む 3 層アプリケーションの名前空間の配置の例を提供できれば、それは素晴らしいことです。どうやって名前空間モデルにたどり着いたのか、そしてその理由を知りたいです。
よろしくお願いします!