問題タブ [conceptual]
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 - カスタム php テンプレート エンジン: ようやく正しい軌道に乗ったのでしょうか?
私は実際に答えを知っているphpのタグが付けられた質問に答えるのに遅れているので、自分で質問してみることにしました。
私は非常に長い間、php でカスタム テンプレート エンジンを完全に書き直す作業を何度も行ってきたので、意見を求めたいと思いました。
要するに、これは私がこれまでに実装した最も重要な部分です。
- http リクエストはすべて handler.php にルーティングされます
- 要求された URL に基づいてコントローラーがインスタンス化され、そのコントローラーのメソッドが呼び出されます。
- コントローラー メソッドは、
IView
互換性のあるクラス インスタンスを返す必要があります (メソッドIView
を定義しますRender()
) 。- テンプレート エンジンは、'serverside' で終わる名前空間ごとに xpath を実行します。
sprintf('//%s:*[@runat="server"]', $namespaceprefix )
- 見つかったタグごとに、によって識別される php クラスを検索し、
$tag.localName
インスタンス化して元のテンプレートに添付します。 - アタッチされると、元のテンプレート ノードが「ServerTag」に供給されるため、適切に初期化できます。
- 完全に完全な IView 互換インスタンスは、コントローラ メソッドの一時変数に割り当てられます。
- テンプレート エンジンは、'serverside' で終わる名前空間ごとに xpath を実行します。
- コントローラーは、Model クラスからビューにデータをプッシュするように要求します。ビューは、気の利いた xpath DOM 置換を行います。
- コントローラーは、完全に塗りつぶされたビューを
main()
ハンドラーに返し、ハンドラーはそれをレンダリングします。
テンプレートをxmlに基づいています。現在、単純なテンプレートは次のようになっています。
現在、これは(壊れたインデントを含む)を出力します:
- ここで触れたのは氷山の一角にすぎません。はい、機能に満足したら、未使用の xmlns 属性を出力から削除します。
- 現在、私の mvc とコア フレームワークには 200 を超えるクラスがあります。
- 同様のことを実行できる既存のソリューションがあることは承知していますが、独自のソリューションを構築したいと考えています。
重要な質問は次のとおりです。必須の機能について意見はありますか?
PS 誰かが完全なソース コードに興味を持っている場合は、コメントを残してください。適切な開発者のユーザビリティ レベルに達したら、自分のサイトで提供します。
apache-flex - 概念的な質問: 疎結合
デザインの問題に直面しているプロジェクトのようなグラフィックボードを構築しています。
メイン クラスは Board で、形状を描画するときにマウス イベントを処理するキャンバスです。また、グリッド磁気を有効にする currentShape や snapFlag などのコンテキスト変数もあります。
形状の移動/サイズ変更/回転を処理するために、ObjectHandles (flex) と呼ばれるサードパーティのオープン ソース ツールを継承します。
onMove 関数などの内部関数の一部をオーバーライドするために、ObjectHandles メイン クラスを拡張する baseShape があります。
シェイプを作成するとき (マウス ダウン、移動、マウス アップ)、これはボードによって処理され、ボード自身のスナップ フラグを認識します。
var mouseUpPoint:Point = boardCanvas.globalToLocal(new Point(event.stageX, event.stageY)); var snapMouseUpPoint = snapPoint(mouseUpPoint.x, mouseUpPoint.y);
私のオーバーライドされた onMove メソッドでは、形状が Board snap フラグとその変化を認識できるようにしたいと考えています。これを行うにはどうすればよいですか?
snap をチェックできるように、basicShape コンストラクターのパラメーターとして Board を渡しますか?
フラグをパラメーターとして渡し、何らかの方法ですべての形状が変更をリッスンするようにしますか?
最もクリーンなソリューションは何ですか?
どうもありがとう。
inheritance - オブジェクト指向言語における継承の概念
私は友人と多重継承と単一継承について話し合っていましたが、明らかに、私のオブジェクト指向設計の概念は彼の概念とは完全に異なっていることがわかりました。私は主に Obj-C プログラマーなので、多重継承は日常的に使用するものではありません。彼は主に Windows/PSP での C++ プログラマーであるため、日常的にさまざまな概念を使用している可能性があります。
彼は実際に次の主題を持ち出しました: 新しい人間は何から受け継ぐのか?
私の考えでは、Human クラスが存在し、新しい存在はそのクラスを継承し、2 つの親からいくつかのインスタンス変数 (彼の DNA など) を取得するというものでした。
彼の考えは、子供が両親の方法を得るために、2 人の両親から継承するというものでした。
正直なところ、オブジェクトから継承しているのでしょうか。オブジェクトの特定のグループに共通のメソッドを含むクラスから継承するために継承が使用されていませんか? この議論は本当に私を際限なく混乱させました。
opengl - OpenGL で大量の行を管理する最も効率的な方法は何ですか?
私は、OpenGL を使用して画面上のレンダリングを処理する単純な CAD プログラムに取り組んでいます。画面上に描画されるすべての図形は、すべて単純な線分で構成されているため、単純な描画でも何千もの個別の線を処理することになります。
アプリケーションと OpenGL の間でこの一連の行の変更を伝達する最良の方法は何ですか? OpenGL バッファ内の行の特定のサブセットのみを更新する方法はありますか?
ここで概念的な答えを探しています。実際のソース コードに入る必要はありません。データ構造と通信に関する推奨事項をいくつか示します。
objective-c - Objective-C メッセージング、未知のメッセージをスマートに処理
KVC に似た方法で、メッセージ名をキー自体として使用する方法はありますか? たとえば、ではなくvalueForKey:
、オブジェクトがすべてのメッセージに応答する方法はありますか?
たとえば、次の XML ドキュメントがあるとします。
すでに利用可能な NSXMLDocument などを使用する以外に、ある種の抽象化を実装する方法があるので、次のことができます。
例として XML を選択しましたが、これが可能かどうか、Objective-C ランタイムに近づきすぎているかどうか、ランタイム自体でサポートされているかどうか、どのようにすればよいかを知りたいです。このようなものを実装することについて。これは純粋に実験的な目的のためであり、かなりのパフォーマンス コストが発生する可能性があることを理解しています。
編集:
可能であれば、Cocoa などの既存のフレームワークを避けて、基本の Objective-C object を使用したいと思いますObject
。
wpf - XAML Window.Loadedによって呼び出されるメソッドでコードを実行するのはなぜですか?
Window_Loaded()
XAMLの「WindowLoaded」イベントによって呼び出されるメソッドを作成するコード例を見ました。
しかし、背後のコードでは、コードはコンストラクターとWindow_Loaded()
メソッドの両方で機能しました。
これを行うことに何か利点はありますか?
PreRender()
ここで行われているASP.NETのような「ウィンドウロードサイクル」、つまり、などのメソッドについて知っておくと便利なものはありますPostRender()
か?
wpf - MVVM で DataContext をバインドする戦略は何ですか?
次の 2 つの 1 時間のビデオでは、MVVM パターンを使用して、Silverlight と WPF の両方で簡単なクイズ アプリケーションを作成する方法を順を追って説明しています。
Silverlight での Model-View-ViewModel の実装
WPF で Model-View-ViewModel を実装する
これらについて私を驚かせたのは、たとえば、DataBinding の使用方法など、それらが構造的にどれほど異なるかということです。
Silverlight アプローチでは、 Viewの DataContext をViewModelのObservableCollectionに設定します。
WPF アプローチでは、 Windowの DataContext をViewModel自体に設定します。
私が見ているすべての MVVM の例は、わずかに新しいバリエーションで DataContext バインディングを行っているように見えます。
DataContext を何かにバインドすることを決定したとき、何が頭に浮かびますか? Window / View / ListBox / etc.の DataContextをObservableCollection / ModelView / etc.にバインドするのはなぜですか? ここでの利点、欠点、戦略は何ですか?
任意の入力をいただければ幸いです。
java - 同じクラスの他のインスタンスでさえデータにアクセスできないように、オブジェクトはデータをカプセル化しますか?
ジャワでは、
同じクラスの他のインスタンスでさえデータにアクセスできないように、オブジェクトはデータをカプセル化しますか? 「プライベート」というキーワードが使用されている場合のみ?Javaの「アクセサメソッド」とは何ですか? getName()のようなメソッド?
ありがとう
entity-framework - ストレージ モデルと概念モデルのフィールド名の区別 (Entity Framework)
私が遭遇するすべてのサンプルには、概念モデルとまったく同じ名前のストレージ モデルのエンティティとプロパティがあります。そのため、マッピング セクションでは、エンティティまたはプロパティがストレージ モデルからのものか概念モデルからのものかを判断できません。
これは、Entity Framework ダイアグラムのスニペットです。データベースからの「ID」フィールドとエンティティからの「ID」フィールドはどれですか?