問題タブ [design-decisions]
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.
java - 設計上の決定: インターフェイスを非公開にする理由と時期
設計上の決定にプライベート インターフェイスが使用されたことはありますか? もしそうなら、その理由は何ですか? また、プライベート インターフェイスの必要性はいつわかりますか?
coldfusion - cfinvoke と createObject を使用してコンポーネント関数を実行することの違いは何ですか?
私の会社のコードでは、そのコンポーネントのオブジェクトを初期化し、オブジェクトからメソッドを呼び出すことによって使用されるコンポーネント ファイルをよく見てきました。ただし、特にコンポーネント ファイルから 1 つのメソッドのみを使用する場合は、cfinvoke メソッドを使用する方がやや簡単に思えます。コンポーネント関数を呼び出すこれら 2 つの方法の違いと、それぞれの長所と短所は何ですか? いつどれを使用する必要がありますか?
.net - 長期プロジェクトに .NET IoC コンテナーを選択
単純な機能に関して言えば、.NET 用の IoC コンテナーは多かれ少なかれ交換可能です。私たちのプロジェクトは非常に長い間存続しており、おそらく存続する可能性が高いため、「将来性」に基づいてプロジェクトを選択する傾向があります。その背後にある最も勢いのあるもの (ユーザーベース、サポート、アクティブな開発者、ドキュメンテーション) があり、今後何年にもわたって存在する可能性が最も高いものは、仕事を得る必要があると私たちは感じています.
この基準に基づいて、あなたはどれを選びますか?
しかし、繰り返しになりますが、この基準を気にする必要がありますか? IoC コンテナーはどのくらい私たちをロックしますか? 後でコンテナーを変更しても大した問題にならないようにソフトウェアを設計できますか? もしそうなら、どのように?
mysql - DB レプリケーションは、このシナリオ/問題に対する適切なソリューションですか?
レプリケーション操作モードの使用が、次の設計上の問題に取り組む方法であるかどうかを調査しています。私は MySQL データベースのレプリケーションの経験がありません。このことを念頭に置いて読んでください。
データストレージ用の (中央) MySQL データベースを共有する、リモートコンピューター (具体的にはタブレット) の分散システムを開発する必要があります。このシステムは、mysql データベースを含むセントラル ユニット、簡単なクエリのためにデータベースに接続する端末、wifi ネットワークを介してデータベースに接続するポータブル デバイス (タブレット) で構成されています。
このシステムは、タブレットを使用して、外出先で製品を販売する地元の店の顧客、注文、販売、および在庫の管理に役立ちます。「トランザクション」ごとに、ローカル ネットワークから出る前にタブレットを mysql データベースと同期し、mysql テーブルから取得した必要なデータを挿入し、顧客、製品などを説明する必要があります。
私はこの必要なデータを含むタブレットで SQLite データベースを使用しており、外部のすべての活動はそれを悪用して新しい売上を挿入したり、顧客の状態を更新したりします。 mysqlで。
db インスタンス間でデータの一貫性を管理するにはどうすればよいですか? アドホック ソリューション (カスタマイズされた同期ソフトウェア ロジック) を使用する必要がありますか?それとも、組み込みのレプリケーション機能を使用して、このシナリオの一貫性の問題に効果的に取り組むことができるのでしょうか?
これらのトランザクションの後のデータの整合性が心配です。おそらく、タブレットが同期を返す前に他のデータが挿入または更新されたからです。定期的に同期されるこれらのリモート タブレットを使用して、あらゆる種類の操作でデータの整合性と一貫性を確保するにはどうすればよいでしょうか?
操作中、このリモート タブレットは必ずしも中央ノードに接続されているとは限りません (通常の場合)。そのため、レプリケーション/整合性操作は据え置きモードで操作する必要があります。つまり、タブレットがセントラル ノードに再度接続されたときです。
ありがとう
wpf - WPFがグリッドでの配置などにアタッチされたプロパティを使用するのはなぜですか?
なぜ「添付プロパティ」が必要なのですか?特定のDependencyObjectにさえ存在しないプロパティの値を設定できる可能性があるため(そしてそれらは黙って無視されるだけです)、その概念は私を少し悩ませます。問題を探す解決策のように思えます。たとえば、HTMLが行うことを実行し、親要素に子の配置などを明示的に決定させるのはなぜですか。
つまり、次の代わりに:
なぜこのようなものではないのですか(HTMLの<tr>
およびと同等):<td>
おそらくグリッドは単なる悪い例であり、アタッチされたプロパティは他のコンテキストでより意味がありますか?それとも私は何かを完全に見逃していますか?
python - Django User-Modelを使用しますか、それとも独自のモデルを作成しますか?
私は現在、Djangoベースのサイトを設計しています。簡単にするために、ユーザーがログインして他のユーザーにメッセージを書き込むことができる単純なコミュニティサイトであると仮定します。
私の現在の選択は、組み込みのUser-Modelを使用するか、独自の何かを構築するかです。ビルトインからはあまり必要ありませUser
ん。ユーザー名はありません(電子メールアドレスはユーザー名です)が、複数のユーザー(Facebookなど)が使用できる内部名を設定します。さらに、他の人へのアクセスはグループに基づいていないため、許可システムは必要ありません。したがって、ビルドインの電子メール、名、姓、パスワードのフィールドのみを使用するUser
ことになり、その他はすべてUserProfileに配置されます。一方、サイトのバックエンドでは、グループベースの許可システムが必要になる可能性があるため、組み込みのユーザーシステムが便利です。
全体として、私は1つのユーザーモデルを構築し、管理者バックエンドへのアクセスにのみビルドインを使用しているように見えます。
私の反射に何か問題がありますか?
java - Java では、デフォルトで同じパッケージのメンバーがクラス メンバーにアクセスできるのはなぜですか?
C++ とは異なり、データ メンバを宣言するときに "public" または "private" を指定しないと、同じパッケージ内のどこからでもアクセスできることがわかりました。
Java 言語の設計者は反対の方法を選択することもできましたが、代わりに、デフォルトで (同じパッケージ内で) クラス メンバーを public にすることを好みました。
理由はありますか?
c# - ASP> NET MVC 3 C#のリポジトリに単純なビジネスロジックを追加します
スタックオーバーフローですでに何度も論争されている問題について質問がありますが(これについてはお詫びします)、あるケースから別のケースへのトピックの主観性のため、一般的な回答はこれまでにありませんでした:ビジネスロジックを追加できますかリポジトリパターンに従ったリポジトリレイヤー?私はViewModelsを備えたMVC3アプリケーションを持っています(つまり、ViewDataをまったく使用していません)。モデルはもちろんデータベースに接続されたLinqtoSQLEFです。現在、すべてのビジネスロジックを含むコントローラーからエンティティに直接アクセスしており、ビューに必要なデータを特定のViewModelにラップしています。今私はリファクタリングを始めており、ViewModelsを最適化する以外に、コードの重複を回避する最善の方法は、EFと通信するリポジトリにすべてのクエリを委任することであることに気付きました。コントローラが使用するように調整されたメソッドを作成します。ここで、リポジトリが式ではなく実際のオブジェクトを返すようにしたいことを考慮して、コードを明確にするために、ビジネスロジックの小さな部分をリポジトリに委任することを考えていました。ただし、緩い結合のために、ご意見をお聞かせください。以下に示すコード(現在コントローラーに存在します)では、以下を除くすべての変数 lprojectionPercactualValueはデータベースから取得されます。したがって、このコードをリポジトリに移動して、署名付きのメソッドを呼び出したいと思いました。
そのアイテムに固有の値を取得するには、メソッドにItemIdが必要です。この設計上の決定についてどう思いますか?コードをコントローラーに残すか、コントローラー内の別のメソッドに移動するか(メソッドを作成するか、専用のクラスを作成する)、説明に従ってリポジトリに移動する方がよいでしょうか。
asp.net - 新しいプロジェクトでWebFormsとASP.NETMVC3を決定する方法は?
重複の可能性:
MVCとWebFormsASP.NETMVCの
パフォーマンス
今後数週間で新しいWebプロジェクトを開始します。やや有名な人のための公開ウェブサイトです。2つの選択肢があります。古き良きASP.NET4を使用するか、Razorで新しいASP.NETMVC3を使用するかです。
ユニットテストを行う予定はありません。これは、主にjavascript、html、cssで構成されるかなり単純なWebサイトです。
ページを作成/削除/編集するための管理パネルを作成する必要があります。ポートフォリオギャラリーに写真を追加/削除します。そして、それはおそらく私が管理者パネルから必要とするすべてです。複雑なことは何もありません。
免責事項:PluralsightトレーニングとASP.NET公式チュートリアルから学んだことを除いて、WebフォームとMVCのどちらについてもあまり経験がありません。私はcssとhtmlの中間知識を持っています。javascriptの経験はありません。しかし、javascriptが他のOOP言語と非常に似ていることを考えると、JSで手を汚さなければならないかどうかについてはそれほど心配していません。
- 開発速度の観点から、どちらが速いでしょう:WebFormsまたはMVC?
- 2つの間のすぐに使えるパフォーマンスはどうですか?
- 長期的には、どちらが維持しやすいでしょうか?
Webプロジェクトを最初から開始しないようにアドバイスする場合は、代わりに軽量のASP.NET CMSをお勧めしますか?
.net - CompareTo on short がこのように実装されているのはなぜですか?
次のコードを検討してください。
私の質問は、Int16 の CompareTo メソッドが -1、0、1 以外の値を返す特定の理由はありますか?
ILSpy は、この方法で実装されていることを示しています
一方、メソッドはこのように Int32 に実装されています