いつもお世話になっております。
Javaのフレームワークや共通機能(例外処理など)の設計を担当して
おります。ただ経験不足からかノウハウが無く、うまくいっておりません。
昔JSPやServletでWebシステムの画面周りのPGは経験があるのですが、
フレームワークや共通機能となると、また違う経験や発想が必要な気がしています。
オブジェクト指向、デザインパターン、Jakarta プロダクト、J2EE
など・・色々なキーワードがあるのですが、「フレームワーク設計」となると、どういった切り口から学習していくのが良いでしょうか?。
「アプリケーションアーキテクチャ設計」とも言われるようですが・・。
皆様のご経験など教えて頂けますと助かります。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
フレームワーク開発の経験はありませんが、個人的感想です。
>>フレームワークや共通機能となると、また違う経験や発想が必要な気がしています。
フレームワークは、開発アプリの基盤になりますよね。ですので、「このフレームワークは、そんな使い方は、想定していません。そのプログラムでは使わないでください。」って言うはめにならないように、拡張性・柔軟性を確保しないといけませんから、大変ですね。質問者の言われるように、通常のアプリ以上の経験・発想が必要でしょう。「経験不足」と感じるレベルで、そういう箇所を担当される場合、いろいろと苦労が予想されますね。
ちなみに、「Javaよりも100倍開発効率が良い(実際は、5倍から10倍か?)」ってことで世界的に成功したRuby on Railsを真似した、Javaのフレームワークが増えているそうです。「この新しいフレームワークを使えば、大変だったXMLの記述は全く不要。その他、いろんな修正やテスト、リリース準備、保守も楽チンになるよ」っていうような、「フレームワークで生産性100倍アップ!!」というウリ・目的を考えるのが最初ではないでしょうか?
で、その大ホラ?を実現するために、いろいろと工夫するわけですね。でも、良いものは、そう簡単にはできないわけですし、質問者が仕事で作成すべきフレームワークには、納期もあると思います。なので、「不満もあるけど、今回はここまで!」っていう「見切り」がもっとも重要かもしれませんね。
No.3
- 回答日時:
Sun認定資格
Java認定資格
http://suned.sun.co.jp/JPN/certification/javamai …
よく、「SJC-A」なんてシステム営業向けの資格だし取得しても意味無いよ、みたいな意見が見受けられますが、質問文を拝見してみて、いきなり「SJC-P」や「SJC-WC」レベルの内容から入っちゃうと、そういう風になってしまうのかな、なんて思いました。
データベース関係においても、本来はJDBCなんてJ2SEからも利用することが出来るわけなんですが、「SJC-P」ではDrivermanagerクラスやexecuteQueryメソッドなどに関する問題は一切出ませんよね(出題範囲外です)。ところが、「SJC-A」ではJNDIやコネクションプーリングとはどのような技術なのかについての理解がないと、合格はおぼつきません。
上記の公式サイトからも分かるように、「SJC-A」っていうのは、「SJC-EA」も含めた全てのJava技術の基盤となっている部分ですから、資格取得は抜きにしてもやはりそこから入っていくべきであるように思います(個人的には)。
ここから下は全て、公式サイトからコピペしてきたものです。たとえ、資格を取得する必要がなかったとしても、体系的に学べれますし、SJC-WCに関しても、サン・エデュケーション・サービスとしては、あくまでSJC-P取得者以外は受験不可といっているだけであって、SJC-WCを先に勉強してはならない、とは言っていません(たぶん)。必要となる部分のみ、かいつまんで習得していくっていうのもありかと。
http://suned.sun.co.jp/JPN/certification/sjcaobj …
セクション 2 - UML 表記
セクション 6 - Java プラットフォームと関連テクノロジー
セクション 8 - サーバーサイド・テクノロジー
http://suned.sun.co.jp/JPN/certification/compobj …
Section 11 - J2EEパターン
【ちなみに、・・・】
もしかしたら、上記の内容でも期待した回答は得られないかもしれません。そうだとしたら、あとはやはり「業務知識への理解」ですね。こればっかりはJavaとかRubyとか.NETとかにかかわらず、どうしても習得に時間の要するものです。社外秘の内容を質問されても、恐らく誰も答えられないでしょうし、それ自体がルール違反になってしまいますからね。一つ一つ着実に、というアドバイスしかありませんが。
No.2
- 回答日時:
まずは、しっかりとした分析能力が必要かとおもいます。
文章でもよいですし、UMLなどのモデリング手法をつかってシステム構築の対象となるビジネスロジック
を把握し、共通となるロジックやインターフェイスを抽出します。
そしてあなたが作るフレームワークや共通ロジックをを使って開発する開発者が開発しやすく、かつ直感的で処理の流れがわかるような仕組みがどのようにして実現できるかというかということを意識して設計すればよいかと思います。その際にデザインパターンなどのオブジェクト指向的な設計手法やオープンソースなどで提供されているフレームワークなどの考え方は参考になるかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング プログラマの仕事内容 4 2022/08/13 00:34
- JavaScript Python Java,Springフレームワークの習得 1 2023/08/02 15:28
- iPhone(アイフォーン) docomo iphone8からipone13に機種変更について 4 2022/08/25 08:46
- 中途・キャリア さて、社会人になってから13年目。 今まで、機械設計、機械製品の品質管理、部門の経営企画をやってきま 4 2023/07/17 08:59
- 転職 建設業界、設備業界の転職について質問させてください 年収400→600万に上げたいのですがおすすめの 1 2023/02/21 17:03
- IT・エンジニアリング IT業界ほぼ未経験で28歳からインフラエンジニアになれますでしょうか 7 2023/05/04 17:41
- 公認会計士・税理士 公認会計士制度についてお教えください。 1 2022/06/01 17:25
- 副業・複業 『Webライター』になりたいです。 まずブログSNS副業に興味関心がありました。 そして大きな目標と 14 2023/06/16 14:01
- PHP クラス 1 2022/08/08 15:12
- 建設業・製造業 検査済証のない建物にエレベーターを増設する計画について 3 2022/04/22 14:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列に半角スペースがあるか...
-
eclipseでtomcatを使うには
-
JAVAを使って管理システムを構...
-
Eclipseソース開発画面の行番号...
-
デザインパターンは必要か
-
C言語によるバイナリファイルの...
-
Javaでゲームコントローラーを...
-
プログラミング開発経験とは?
-
Eclipseのダウンロード
-
「C#ができればJavaもできる」...
-
プログラミング言語について
-
使用しているJUnitのバージョン...
-
vba クリップボードクリアにつ...
-
VBAの「for i=1 to cells(…」...
-
IISワーカープロセスが原因でCP...
-
Javaでのエラーについて
-
EclipseでJavaコンパイラのバー...
-
gitでバージョン指定してダウン...
-
プログラマーの適正検査落ちま...
-
サイドワインダーのドライバ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
「C#ができればJavaもできる」...
-
今でも、TomcatとApacheの連結...
-
オブジェクト指向について
-
Mac、Javaのライブラリ追加場所...
-
プログラミング開発経験とは?
-
JAVAで開発するシステムの...
-
PowerBuilderの知識が必要です。
-
ファイルアップロード時の文字...
-
PL/SQLを使った開発について質...
-
JAVAを使って管理システムを構...
-
JavaMailを使う前のTomcatの設定
-
サーバサイドJavaの「べか...
-
この便利な時代に開発環境すら...
-
文字列に半角スペースがあるか...
-
TOMCATとANDROIDSTUDIOの違い
-
Javaでバッチ処理
-
コマンドボタンの文字が消える!
-
J2MEでUTF8ソースコードでコン...
-
dao,daoimpl,daofactory古い?
おすすめ情報