問題タブ [application-design]

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 投票する
13 に答える
41446 参照

c# - C#コードで.NET 4.0タプルを使用すると、設計上の決定が不十分になりますか?

.net 4にTupleクラスが追加されたことで、私は自分のデザインでそれらを使用することが悪い選択であるかどうかを判断しようとしてきました。私の見方では、タプルは結果クラスを作成するためのショートカットになります(他の用途もあると確信しています)。

したがって、この:

これと同等です:

それで、私がタプルの要点を見逃している可能性を別にして、タプルの例は悪い設計の選択ですか?私には、それはすっきりしているように見えますが、自己文書化してきれいではありません。つまり、タイプを使用するResultTypeと、クラスの各部分が何を意味するかは後で非常に明確になりますが、維持する追加のコードがあります。を使用するTuple<string, int>と、それぞれが何を表しているのかを調べて理解する必要がありますがItem、記述して維持するコードは少なくなります。

この選択で経験したことはありがたいです。

0 投票する
5 に答える
167 参照

asp.net - 設計上の決定

小規模な社内プロジェクトでは、WebフォームとMVCのどちらかを選択するように求められました。私はMVCを知りません。決定を下すには、MVCのどのくらいを知る必要がありますか?

注:1。MVCについては、私が行う必要のある高レベルの設計の選択をある程度知っていますが、開発者として、コードを記述しない限り、快適ではありません...

もう1つの質問は、mvcの機能を知らずに、どのように仕様を設定するかです(たとえば、データグリッドコントロールはWebフォームで使用される方法では使用できないと言われています)。私はそれを特定する方法があると確信しています-stackoverflowはジェフがMVCを学んでいたときに構築されました:)

編集:私は2002年からASP.NETを使用しています。

0 投票する
5 に答える
328 参照

c# - .Netアプリケーションの設計

以下の詳細で申請を行っています。

1)C#.Net上のWeb/デスクトップアプリ

2)ユーザーのアクティビティタイムスタンプを日時フィールドとして保存します。

このタイムスタンプをUTC形式で保存する必要があります。

これで、表示中にユーザーのタイムゾーンに変換されます。

問題

ユーザーは、あるオフィスから別のオフィスに移動できます。(すべて異なるタイムゾーンにある複数のオフィス)。

ここで、1か月間のユーザーのアクティビティを表示するとします。(異なるタイムゾーンが含まれる場合があります)。

ユーザーのタイムゾーン情報をどのように保存/追跡できますか?

実行時に時間を変換し、適切な時間を表示するようにします。

例えば

UTC時間

1日目:time1

2日目:時間2

UTC +1:30

3日目:time3

等..

この問題にどのように対処できるかを提案できますか。

前もって感謝します。

0 投票する
9 に答える
44912 参照

java - How to design Java application?

What are the general guidelines and best practices to keep in mind while designing Java application [Simple console apps to J2EE apps]?.

Hi

I recently completed Java programming tutorial from Sun and practised core java (I have previous programming experience). Now I understand the basics of Inheritance, Abstraction , Polymorphism,Encapsulation

Now i am writing Java code without much difficulty, but am not sure of application design. This is my main problem: "DESIGNING" the application. Say if i have given a task to create an application in Java, What should I start up with? How to think about? Any formal/informal guidelines I should follow while developing class hierarchies? I am really confused (abstract class or interface or sub class..?). Should I start by model everything, before writing code?

It would be very useful for people like me to have a SET OF GENERAL GUIDELINES/BEST PRACTICES, which we can follow while start developing a new java application.

Please provide me some guidelines/thoughts/books/resources/tools I should read or Use

Thanks in advance Scott

0 投票する
9 に答える
6425 参照

iphone - iPhone iOS4 アプリケーションの動作の設計: バックグラウンドでの実行とアプリケーションの終了

自動車ドライバー向けの iPhone GPS アプリケーションを開発しています。

ご存じのとおり、iOS4 ではマルチタスキングが導入されたため、アプリケーションはバックグラウンドで実行できます。これは機能の一部です。

問題は、iOS4 でアプリケーションを閉じる標準的な方法にあります。以下に 2 つのシナリオを示します。

1) ユーザーはアプリケーションをバックグラウンドにしたい:

通常、iPhone iOS4 では、「ホーム」ボタンを押すのと同じくらい簡単です。

2) ユーザーがアプリケーションをオフにしたい(つまり、目的地に到着した後):

標準的な iPhone iOS4 の手順は次のとおりです。

  • 「ホーム」ボタンを押す - アプリケーションはバックグラウンドに移行します
  • 「ホーム」ボタンを 2 回押します - 実行中のアプリケーションのリストが表示されます
  • アプリケーション アイコンの 1 つをタップ アンド ホールドします。すべてのアイコンに「シェイク」と「-」記号が表示されます。
  • ユーザーが終了したいアプリケーションアイコンで「-」記号をタップします

ユーザー、バッテリーを節約するために、どこかに到着するたびに (1 日に 2 回など)、アプリケーションを終了する必要があります。そうしないと、GPS はすぐにすべてのバッテリー電力を消費してしまいます。また、アプリケーションの主な機能には正確な位置情報が必要なため、バックグラウンドで実行中に GPS を無効にすることはできません。

もちろん、アプリケーションから「ホーム」ボタンの動作を変更することはできません (AppStore に受け入れられるようにするため)。また、予想される動作を iPhone プラットフォーム上の他のアプリケーションとはまったく異なるものに変更することは、良い解決策ではないと思います。

あれについてどう思う?何か良い解決策をご存知でしょうか。アイデアは 1 つありますが、まだ何も提案したくありません。

私たちのソリューションのアイデアは非常にシンプルです。画面の右上隅に小さな「x」ボタンを表示するだけです。それをタップすると、アプリケーションが終了します (おそらく確認の質問の後)。

このソリューションには大きな利点が 1 つあります。それは、デフォルトのシステム動作を変更しないことです。iOS4 のマルチタスクの使用を認識しているユーザーは、「ホーム」ボタンを押してバックグラウンドでアプリを実行し、iPhone のように閉じることができます。

どう思いますか?

0 投票する
4 に答える
1409 参照

database - 大規模なデータ駆動型Webサイトのアーキテクチャ

私は小さなデータ駆動型のWebサイトを作成する方法を知っていますが、大きなデータフローを処理するためにそれらを変換する方法についてのアイデアを得たいと思っています。

質問は、スタックオーバーフロー、クレイグリストなどのように機能するサイトに基づいており、人々は投稿したり、他の人が返信したりでき、タグに基づく基本的な検索機能を備えています。

  1. SQLサーバーやOracleなどの通常のリレーショナルデータベースは、大量のデータの読み取りと書き込みをサポートするのに十分な強度がありますか?

  2. 専用の単一サーバーでホストされているサイトがある場合、一般的にどのくらいのトラフィックを処理できると期待できますか?

  3. 中規模から大規模のアプリケーションを作成するときに考慮する必要のある一般的な設計ルールや問題はありますか?

0 投票する
9 に答える
310 参照

c# - 5年間のアプリケーション設計

私の質問は技術的ではありません。それは哲学的であり、実際には個人の好みに依存します。私はアプリケーション(Web +デスクトップ)を設計および開発していますが、これは私に起こったばかりで、皆さん(プログラマーとデザイナー)がこれまでにこれに遭遇したことがあるかどうか疑問に思っていました。

一部の設計者は、3〜5年後に実行されるアプリケーションを作成すると考えており、システムコアの変更に頼る必要なしに、アプリケーションに加えられた変更が反映されます。プログラマーとして、私はこれが決して当てはまらないという事実を知っています。小さな外​​観上の変更は発生しますが、通常は1、2年後に消滅します。時間の経過とともに、コアの変更を必要とする変更があり、最終的には新しいアプリケーションを作成します。

テクノロジーの急速な変化を考えると、5年間のアプリケーションの設計は、かなりばかげています、IMHO。設計しないという意味ですが、このアプリケーションは5年間実行されるという考えと、新しいアプリケーションを作成する必要はないという信念は、愚か者の楽園に住んでいると思います。つまり、実際には、仲間のプログラマー、実行中のフローを持つほとんどのミッションクリティカルまたは基本的な小さなアプリケーションは、通常、数年後に再作成/再構築/再編成/再コーディングされます。

だから私の質問は、なぜこの完璧なアプリケーションを10年間実行するというこの姿勢を維持するのかということです。テクノロジーは毎年変化するという事実を知っているので、それは本当にばかげています。新しいフレームワーク、新しい方法、新しいテクノロジーが出現し、クライアントはそれらを望んでいます。それで、あなたがこのフレーズの私の使用を許すならば、WTFはポイントですか?

とにかく、アプリケーションは数年以内に再設計されるとデザイナーに言い続けています。@ ssから照明を放つようにしようとしても、まったく意味がありません。完璧なアプリケーションというものはありません。

私はあなたたちが私のドリフトを取得することを願っています。皆さんも同じように感じましたか?ところで、私はソフトウェアプログラミングビジネスに約7年携わっています。本当に考えてみれば、Facebookは5年後も変わらないと思いますか。デザインは毎年かそこらで「ファンキー」なままですが、コアは2、3年ごとに変わります。私はそれを確信しています。私は妄想的ですか、それとも何ですか?私と同じ道に他のプログラマーがいることを教えてください。誰?

0 投票する
2 に答える
52 参照

web-applications - レプリケーション データセンターは応答の高速化に役立ちますか?

データセンターにはさまざまな種類があるため、地球上の特定の地域にコンテンツをより速く提供することを目的としたデータセンターのセットアップについて話していることを説明したいと思います.

私が理解していることから、各データセンターはデータストレージへのアクセスを共有し、基本的には世界のどこかに存在するだけで、リクエストがメインサーバーまで何千マイルも移動しないようにしています.

しかし、各データセンターは他のデータセンターと同期をとらなければならないため、すべてが遅くなり、データセンターを世界のさまざまな場所に置く利点が失われてしまうのではないでしょうか?

たとえば、ホームにあるメイン サーバーから結果セットをフェッチする必要があるとします。これは、ユーザーがそのホーム サーバーにリクエストを送信するのと同じではないでしょうか。

明らかにそうではありません。企業がそれらを使用しているため、おそらく誰かがこれを説明できるからです。

0 投票する
2 に答える
1578 参照

model-view-controller - What, specifically, belongs in a Model, a View, and a Controller?

I've been learning about the Model-View-Controller paradigm ("MVC"), but I'm quite confused since some tutorials contradict other tutorials.

My current understanding of the process looks something like this:

Router / Dispatcher / Front Controller:

  • Though not specifically referenced in the "MVC" name, the Router is still a very important part. It is here that requests are translated from raw URLs to a specific controller. For example, routing a request for www.StackUnderflow.com/question/123 to the "Question" Controller of the application.

Model:

  • This is where raw data is collected from some storage source, such as a database or XML file. The model serves as an abstraction layer, translating the Controller's request for specific data into (for example) an SQL query, and translating the query results into a standard format like a data object.

  • For example, in the /browse/all scenario stated above:

    • The "Question" Controller would ask the Model "Please give the data for question 123."
    • The Model would then translate that into "SELECT * FROM Questions WHERE Id = 123;" and punt it to the database
    • The database would return a "Question" record to the Model.
    • The Model would take the record, and translate it into a Question data object
    • The Model then asks does the same thing "SELECT * FROM Answers WHERE QuestionID = 123;" and creates an array of Answer objects from the resultset, and adds that to the Question object's answers member variable.
    • The Model would return the Question object to the "Question" Controller.

Controller:

  • This is the real workhorse of the application. In addition to relaying messages back and forth to the Model and the View, the Controller is also responsible for things like Authorization and application/"business" logicEdit: Per answer, business logic belongs in the Model.

  • In the ongoing example, the Controller wold be responsible for:

    • Ensuring the user is logged in.
    • Determining the QuestionId from the URL.
    • Determining which View to use.
    • Sending HTTP codes and redirecting if needed.
    • Asking the Model for data, and store needed data in member variables.

View:

  • By and large, the View is the simplest part of the application. It mostly consists, in a basic application, of HTML templates. These templates would have placeholders to insert data into the template from the Controller's member variables:

e.g.

  • The View would also contain methods to format data for delivery to the user. For example, the formatAnswerList() method above would take an array of answers, taken from the Controller, and loop through them while calling something like include $markupPath . "/formatAnswer.inc" which would be a small template of just an answer container.

Questions:

  • Is this view of MVC fundamentally accurate?
  • If not, please carefully explain which components are misplaced, where they should actually go, and how they should properly interact with the other components (if at all).
  • How many classes are used to describe this? In my example there are four objects - one each for the three components of MVC and one that simply stores related data for transmission. Is this normal, or should some be combined. If so, which ones?
0 投票する
1 に答える
157 参照

iphone - アプリケーション設計-iPhoneとCocoaアプリケーションの違いは?

すべてのページのiPhone開発では、2つのファイル、nibファイル、およびビューコントローラー(books.nib、booksViewController.m)がありますが、Cocoaアプリケーションでは、Appleは3つのファイル(books.nil、books.m)を持つことを提案しています。 、booksViewController)。2つのクラスファイルを持つことのポイントは何ですか?ロジックと同じファイルで、属性をインターフェイスのアウトレットに接続するのは悪い考えですか?

だからそれをiphoneのnibファイルとまったく同じように保ち、ciewコントローラー?