問題タブ [business-logic]
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.
php - タイムスタンプに勤務時間を追加する
タイムスタンプに勤務時間を追加する必要があります。勤務時間は午前8時から午後6時まで。午後 2 時で、6 時間を追加する必要があるとします。結果は午前 10 時のはずです...何か推測はありますか?
ありがとう。
c# - ビジネス ロジックを実装するためのコードの改善
SOで以前にこの質問をしました。これはそれに関連しています。次のようなコード ベースがあります。
この混乱を取り除き、より多くのデータ構造と OO ルートを取りたいと考えています。私が提供したコードサンプルでさえ、それほど恐ろしいものではありません。仕様パターンを見て、該当することがわかりました。コードを改善する方法についてのアイデア。
編集:今気づいたので、この署名のメソッドを実装したいと思うかもしれません:
business-logic - ビジネス層とデータ層を分離する際、エンティティのどこに制限を設けるか
大規模な ASP.NET MVC アプリケーションのビジネス レイヤーとデータ レイヤーを作成しようとしています。この規模のプロジェクトを試みるのはこれが初めてなので、本を何冊か読んで、物事を適切に分離することに細心の注意を払っています。通常、私のアプリケーションではビジネス ロジックとデータ アクセス レイヤーが混在し、複数のビジネス エンティティが 1 つのクラス内で絡み合っています (追加する場所を見つけようとしているときに、何度か混乱しました)。
私が読んできた内容のほとんどは、ビジネス レイヤーとデータ レイヤーを分離することです。これはすべて問題ないように思えますが、いくつかのシナリオでこれを行う方法を正確に視覚化するのに苦労しています. たとえば、管理者が新しい製品をシステムに追加できるようにするシステムを作成しているとします。
次に、リポジトリを作成してデータ アクセスを分離します。
製品の名前に少なくとも 4 文字を要求したいとしましょう。これをきれいに行う方法がわかりません。
私が持っていた 1 つのアイデアは、Name の set プロパティを拡張し、4 文字の長さの場合にのみ設定することでした。ただし、 Product.Name != 渡されたものを除いて、製品を作成しているメソッドが名前が設定されなかったことを知る方法はありません。
私が持っていた別のアイデアは、それをリポジトリの Add() メソッドに入れることですが、その後、ビジネス ロジックとデータ ロジックがすぐそこにあります。つまり、Add 呼び出しが失敗した場合、ビジネス ロジックまたは DAL が失敗したためです (また、モック フレームワークを使用してテストできないことも意味します)。
私が考えることができる唯一のことは、レポジトリの Add() メソッドから呼び出される第 3 層に私の DAL を配置することですが、私の本やweb (少なくとも私は見たことがある)。また、それが必要かどうか確信が持てない場合、ドメイン モデルの複雑さが増します。
もう 1 つの例は、名前が 1 つの製品だけで使用されるようにすることです。これは、Product クラス、ProductRepository の Add() メソッド、またはどこに入れますか?
補足として、私は ORM として NHibernate を使用する予定ですが、(理論的には) 必要なことを達成するために、TDD はすべてを分離できるはずなので、使用している ORM は問題ではありません。
前もって感謝します!
sql - これは、最新のニュース サイトが SQL/ビジネス ロジックを処理する方法ですか?
基本的に、下の画像は、私が取り組んでいるサイトのホームページのコンポーネントを表しており、いたるところにニュース コンポーネントがあります。SQL のスニペットは、私がどのように機能すべきかを想定していますが、以前にニュース サイトで作業したことのある人からビジネス ロジックに関するアドバイスをいただければ幸いです。これが私がそれをどのように想像するかです:
質問 #1 : SQL ロジックは理にかなっていますか? あなたが見ることができる警告/欠陥はありますか?
私のスキーマは次のようになります。
すべての記事 (主な特集、副次的な特集、残り) を 1 つのテーブルに格納type
し、テーブル内の番号に対応する列でそれらを分類しnews_types
ます (この例では、理解しやすいようにリテラル テキストを使用しました) )。
質問 #1.1 : 異なる種類の記事について 1 つのテーブルに依存しても問題ありませんか?
ニュース記事には、次の 3 種類の画像を含めることができます。
- 記事のパーマリンク ページにのみ表示される 1x 元の画像サイズ
- ホームページ セクション #1 に表示される 1x メインのアイキャッチ画像
- ホームページ セクション #2 に表示される 1x サブ特集画像
今のところ、各記事を複数ではなく 1 つの画像に対応させたいと考えています。ただし、ユーザーは記事の画像をarticle_full
TEXT 列に投稿できます。
質問 #1.2 : 記事の画像をスキーマに組み込む方法がわかりません。このような 2 つのテーブルに依存するスキーマは一般的ですか?
article_image_links:
記事の画像:
データの要件:
私がSQLロジックを持っている方法から、ものが表示されるためにはいくつかのデータが必要です..
- there has to be at least one
main
type article - there has to be at least four
featured
type articles which are below the main one
Question #1.3: Should I bother creating special cases for if data is missing? For example, if there's no main featured article, should I select the latest featured, or should I make it a requirement that someone always specify a main article?
Question #1.4: In the admin, when a user goes to post, by default I'll have a dropdown which specifies the article type, normal
will be pre-selected and it will have the option for main
and featured
. So if a user at one point decides to change the article type, he/she can do that.
質問 #1.5 : 特集記事とメイン記事が最新の日付でしか機能しません。たとえば、ユーザーがなんらかの理由で古い記事をメインの記事として指定したい場合、カスタム ロジックを作成するか、記事の日付を最新のものよりも遅くなるように更新するように指示する必要がありますか?
database - クイックでダーティなビジネス アプリを開発するためのヒント
最近、何人かの人々が彼らのためにビジネスアプリを作成することについて私にアプローチしてきました (私はプログラミングを専門とするコンピューター技術の学生で、システムとドライバーのプログラミングの経験が少しあります)。どのように、またはどこから始めるべきかのアイデア。
データベース バックエンドを備えた小さなアプリである必要があります。基本的に、請求書、クライアント、製品、および添付データを追跡します。
このようなアプリケーションをより速く簡単に作成できる API はありますか? プラットフォームは実際には問題ではありません。私は Mac と Windows PC を持っており、一般的に Linux にある程度精通しており、クライアントは私の選択したプラットフォームに移行します。
私は MySQL をほとんど知りません。Objective C、C、およびその他のいくつかは知っていますが、この方法でデータベース製品を構築することは非常に複雑な作業のように思えます。私より優れたプログラマー。
EDIT:可能であれば、Webフレームワークをいじる必要がないようにしたいと思います。これは、彼らを見たくないということではありません。単に、私が Web 開発モデルにまったく慣れていないというだけです。
sql - メイン、特集、カテゴリ領域に関するニュース記事の移動を処理するにはどうすればよいですか?
次のようなテンプレートを検討してください (以下に投稿された質問):
スーパーボウルに関する記事を投稿し、それをスポーツ カテゴリにタグ付けしたとします。私の記事テーブルには、特集かどうかのフラグと、主要記事のフラグがあります。したがって、メイン フラグを確認すると、メインの記事として表示されます。1日後に別のメイン記事を投稿すると、最新のメイン記事を削除しない限り、メイン特集エリア#1から消え、エリア#2またはエリア#3に表示されません.
質問 1:主な記事と注目の記事の両方をチェックして領域 2 の SQL ロジックを更新し、最後の主な記事を除外することでこれを解決できます。状況を変えたい場合、これが状況を処理する理想的な方法でしょうか。通常の特集記事まで?
質問 #2:しかし、最新の投稿に基づいて完全に SQL ロジックを作成し、ユーザーが日付に関係なく主な特集として記事を指定したい場合、このために追加のロジックを追加する必要がありますか? したがって、たとえば、articles テーブル全体で一度に 1 つのメインのみが存在する可能性があります。または、記事の日付を更新するようにユーザーに強制する必要があるので、メインが最新の投稿である必要がありますか?
質問 3:スーパーボウルの記事がローテーションでメインから 1 番目、2 番目、3 番目、4 番目の特集になった後、スポーツの最初の記事としてカテゴリ リストに表示したいとします。これを行うには、メイン フラグと特集フラグの設定を解除するには、記事の送信コードにコードを追加して、一度に 4 つの特集フラグと 1 つのメイン フラグのみを設定することは理にかなっていますか? 明らかに、削除された場合、後方にシフトすることはできません。
組織と表示ロジックの処理に関するアドバイスをいただければ幸いです。
stored-procedures - 不利な点が手順でビジネスレイヤーを維持することを知る必要があります
私の仕事では、ストアドプロシージャを使用してデータベース内にビジネスロジックを保持することを主張する友人がいます...
そのようなことをしないように彼を説得するために私が使用できる議論は何ですか?
彼がこれを実行したい理由は、さまざまなプラットフォームを備えた複数のシステムがあるためです(.NETのWebアプリケーションとVB.NET、およびPower Builderで開発された別のデスクトップアプリケーション-Sybase)。
ありがとう!
asp.net - ビジネス ロジック レイヤー、複数のテーブル、リレーションシップ
ビジネス ロジックでは、テーブルをオブジェクトに、このテーブルのフィールドをプロパティにマッピングします。1 対多の関係で何をすべきか? ほんの一例: テーブル、製品、およびカテゴリがあります。すべての製品をドラッグする必要があり、Category_ID (製品テーブル) の代わりに、Category テーブルに格納されている実際のカテゴリ名を表示する必要があります。
それを行う方法は何ですか?同様の状況で?
php - Excel を php で mysql にインポートするためのアドバイスを探しています
よし、君たち全員から頭脳を選ぶことができるか見てみよう。
私は現在、すべての情報がさまざまなクライアントから提供されるプロジェクトに取り組んでいます。唯一の共通点は、受け取ったデータが Excel で作成されていることです。彼らが提示する Excel スプレッド シートは、参照とコードの集まりにすぎません。私が直面している問題は、Web サイトが機能するために特定の形式で参照とコードを入力する必要があることです。
完璧な状況は、各クライアントに行って、どのようにデータが必要になるかを教えることですが、クライアントの数が多いため、それを行うことができません。さらに重要なことに、クライアントのワークフローを中断することになります. 各クライアントには独自のコードと参照モデルがあり、プロセスを変更する気はありません
良いニュースは、コードには標準パターンがあるということですが、組み合わせの束で 20 万近くのコードについて話しています。
私たちが現在問題を解決している方法は、受け取った各 Excel シートをチェックし、いくつかのマクロを実行し、マクロが修正できなかったコードを手動で修正する担当者がいるということです。
これをしている人はすでに燃え尽きてイライラしているので、このプロセスをphpで自動化したい.
提案?
wcf - WCFサービスアプリケーションからのビジネスロジック層の構成
カスタム構成ファイルに基づく構成が必要なビジネスロジック層があります。WebまたはWindowsアプリケーション内でこの層を使用する場合、アプリケーションの起動時にビジネスロジック層を初期化し、app.configまたはweb.configで構成されている構成ファイルへのパスを渡します。
現在、WCFサービスアプリケーション内でこのビジネスロジック層を使用しようとしていますが、WCFサービスアプリケーションには「アプリケーションの起動」ポイントがないため、これを実行する方法がわかりません。WCFサービスアプリケーションで定義されたワークフローは、ビジネスロジック層と直接対話していないことに注意してください。これは、ビジネスロジック層を使用するアクティビティdllへの呼び出しによって抽象化されます。
したがって、アーキテクチャは次のようになります。
- WCFServiceはServiceActivitiesを使用します
- ServiceActivitiesはBusinessLogicを消費し、BusinessLogicによって提供されるデータに依存して、それを使用して外部サービス呼び出しを行います。
このシナリオでビジネスロジック層を構成するにはどうすればよいですか?