機能のトグルは新しい機能に対して完全に機能します。ほとんどの場合、機能は機能設定に基づいて表示されるか、表示されないUIコンテナで囲まれている必要があります。しかし、新しい機能で既存のコードベースを大幅に変更する必要がある場合、どのように機能トグルを使用することができますか?私は 'copy & change'を使用することはできません。明らかに、機能の分岐よりもはるかに悪いので、私はマージの競合を取得しません。そのような要件のベストプラクティスは何ですか?新しい機能でコードベースの大幅な変更が必要な場合、機能トグルを処理するにはどうすればよいですか?
4
A
答えて
1
機能トグルをIoCコンテナと組み合わせて、コンポーネントのさまざまな実装をロードできます。たとえば、トグル「A」は実装「X」をロードし、トグル「B」は実装「Y」をロードします。このアプローチにより、並列実装を維持し、単一のトグルに基づいて従来の機能と新しい機能を有効にすることができます。
+0
このようなアプローチには2つの問題があります。最初のものは、レガシーコードで修正されたバグが新しいコードで修正されない可能性があるということです(ただし、単体テストでは役に立ちます)。しかし、第2の重要な問題は、新しい実装を作成する前に、古いものを書き直さなければならない(リファクタリングしなくても)ということです。 – Sane
関連する問題
- 1. データベースからのモデルの更新が機能しない場合はどうすればよいですか?
- 2. SWRevealViewControllerがカスタムナビゲーションバーボタンで機能しないトグル
- 3. IE8エミュレートIE7を作成するヘッドタグが機能しない場合はどうすればよいですか?
- 4. 内部機能を独自の機能に変更するにはどうすればよいですか?
- 5. ウェブサイトでAPI機能が必要な場合はどこですか?
- 6. INSERTクエリが機能しない理由を確認するにはどうすればよいですか?
- 7. 向きを変更した後にUIViewのサイズを変更するにはどうすればいいですか(コードが機能しないようです)
- 8. どのような新しいブラウザ機能が利用可能ですか?
- 9. これらのイベントをどのように処理すればよいのですか?コードが機能しないのはなぜですか?
- 10. Javascriptのトグル機能は:テキストを変更し、変更するクラススタイル
- 11. git拡張機能を使用する機能ブランチを変更せずに機能ブランチをマスターブランチにマージするにはどうすればよいですか?
- 12. Jquery要素のサイズ変更が機能しないのはなぜですか?
- 13. protobufのHasField機能にはどのようなパラメータが必要ですか?
- 14. Ajaxの更新が機能しない
- 15. pymongoの更新が機能しない
- 16. CSSの最大幅がul li divで機能しない
- 17. Jtableの列幅のサイズ変更が機能しない
- 18. CLLocationManager distanceFilterはどのように機能しますか?電話がどこにあるかを知るための更新が必要ないのですか?
- 19. jQuery、ウィンドウ上でトグル機能の変数を更新する、サイズ変更
- 20. HTMLテーブル - td子孫で最大幅が機能しない
- 21. JSONPのヘッダーを変更できない場合。 Chromeのtwitter拡張機能はどのように機能しますか?
- 22. 新しい機能によって既存の単体テストが無効になる場合はどうすればよいですか?
- 23. Firefox拡張機能ではどのようなライトボックスが機能しますか?
- 24. 新しいiPad Proキーボードショートカット機能を実装するにはどうすればよいですか?新しいキーボードショートカット機能について
- 25. 新しいオペレーティングシステムを構築する場合、どのような機能がありますか?
- 26. Magentoヘルプが必要です - タイトルタグが機能しない
- 27. %幅の要素で絶対位置が機能しない
- 28. javascriptによるIE/Firefoxスタイルの更新が機能しない
- 29. この場合、Javascript置換が機能しないのはなぜですか?
- 30. SOAP要求が機能しないのはなぜですか?
トグルしたい「古い」機能に関連するすべてのコントロールを非表示にすることはできますか?または、新しいUIコンテナに移動します。たとえばWinAPIでは、これはコントロールのリストを作成してSetParent SetWindowPosを実行するだけです。 – exebook