タグ

Javaとプログラミングに関するbigbroのブックマーク (18)

  • DAOとかVOとかDTOとか - 人類みんなごくつぶし

    設計、コーディングで用いられる言葉の整理。こいつらって何よ? DAO(データアクセスオブジェクト) VO(バリューオブジェクト、値オブジェクト) DTO(データトランスファーオブジェクト) エンティティ これらは、EJBの出現により(?)メジャーになった言葉たちです。 DAOは、DB(永続ストア)にアクセスするためのクラスです。 たいてい、VOを引数に受け取って、INSERT、UPDATEを行ったり、 SELECTしてVOやVOのリストを返したりします。 DTOはVOとほぼ同義ですが、微妙に違います。 何が微妙に違うかはメンドクサイので忘れます。 エンティティは、DAO+VO(DTO)のようなペアでDB操作を行わず、 エンティティクラス自体のメソッドにINSERTやSELECTを行うメソッドを定義します。 (SELECTは別のクラスにしたり、staticメソッドにしたりもする) VO/DT

    DAOとかVOとかDTOとか - 人類みんなごくつぶし
  • DAOとかDTOとかVOとかEntityとか

    Strutsを使っていたときにこのへんすごく迷った。SAStrutsでもでてきたのであらためて調べ直しておさらいしてみる。 VO vs DTO vs DAO vs Entity VOは不変でなければならないので、MVC間でやりとりされるオブジェクトは、DTOといったほうがいいらしい(参考:OZACC.blog: VOとDTOの違い)。 WikipediaのDTOをみると「過去、VOとも呼ばれていた」とある。よって、藤原はVOをもう使わないようにします(会社で使ってるな・・・)。 DAOはSelectとかInsertとか、DBにアクセスしてくれる人のこと。結果としてEntityを返してくれたりする。 Entityはレコードを表現する。DTO(VO)っぽいけど、DAOみたいなこともしやがるらしい(参考:DAOとかVOとかDTOとか – 人生全て暇つぶし) DTOは、EntityからDTOが作ら

    DAOとかDTOとかVOとかEntityとか
  • やさしいクラス設計「活きのいいクラス見つけます」by Java and C#

    1日目 --- クラス設計とは ここではクラスとその設計について書いていきます。 オブジェクト指向プログラミング言語の一つであるクラスベースの言語において、クラスの設計はプログラム設計の重要なものの一つです。 例えば、Java や C# はクラスベースのオブジェクト指向言語であり、そのクラス設計は重要です。 クラスとは? まず、クラスとは何でしょう。 クラスとは、具体化されたインスタンスオブジェクトの一部を抽象化してカテゴライズしたオブジェクトです。 例えば、数値の 1や 2 のようなオブジェクトを考えます。このオブジェクトは + や - に反応するオブジェクトです。 これらのオブジェクトで値を抽象化したオブジェクトを考えます。これを integer  オブジェクトと呼んでみます。この integer は + や - に反応するオブジェクトで値が抽象化されている オブジェクトの総称になりま

  • クラス設計に関するメモ

    経験的にこのようにした方がよいと思った点についての記録です。 仕事で大規模(2000クラス超)かつ製品寿命がながいパッケージソフトを作っていた関係で、 ちょっとした設計の間違いが、 あとあとで大変な苦労する羽目になったりすることを経験してきました。 このような規模が大きいアプリケーションを作ることはなかなかないかもしれませんが、 なにかの参考になれば、と思います。 継承する前に委譲を検討する Singleton パターンを使うときの注意 Template Method パターンを使うときの注意 クラス間の依存に関する注意 クラスの粒度 Singleton の問題を回避できるか? 継承する前に委譲を検討する 継承はスーパークラスの仕様をよく理解しておかないと、 バグを作りこみやすいので十分注意する必要があります。 メソッドのオーバーライドをするときも、 public void foo(){

    bigbro
    bigbro 2012/06/15
    SingletonWrapperってのが興味深い
  • Undo,Redoの実装って何十回もやってる気がする - あしあと日記

    undo,redoの実装って何十回もやってる気がする。毎回同じパターンだ。undo,redoが登場するような編集ソフトは大体同じパターンに落とせる。フレームワークも作った。ブログにそういう内容を書きたいが面倒くさい。需要があれば面倒でも書くんだけどなあ http://twitter.com/youpychan/status/994486992 という発言をしたら何人か反応を頂いたので書いてみることにする。 需要があるなら書こう。undo,redoだけじゃなくてグラフィカルな編集ソフト全般の話をいつかまとめたいと思っていたので、ちょいとシリーズで書いてみようかとおもう http://twitter.com/youpychan/status/994636764 書こうと思う。 まずUndo,Redoについて。 Unod,Redoってみなさんどういう風に実装しているでしょうか? 私はコマンドパタ

    Undo,Redoの実装って何十回もやってる気がする - あしあと日記
  • designed.jp

    This domain may be for sale!

  • - デザインパターンによる進化的設計

    このプログラムでは全体の処理の流れが決まっています. その中で,youGotMailPopup()の部分のみの動作が変更できることが望まれています. ここで利用できるパターンを考えてみます.振舞に分類されるパターンのなか で,TemplateMethod と呼ばれるパターンがあります.GoFを参照すると, TemplateMethod 目的: 1つのオペレーションにアルゴリズムのスケルトンを定義しておき,そ の中のいくつかのステップについてはサブクラスでの定義に任せることにする. TemplateMethodパターンでは,アルゴリズムの構造を変えずに,アルゴリズ ムの中のあるステップをサブクラスで再定義する. とあります.今回の例では,全体の処理の流れを規定するrun()メソッドが上 記の「スケルトン」に当たります.また,youGotMailPopup()が「いくつかの ステップ」に当ては

  • FrontPage - Javaでゲーム作りますが何か?

    このサイトについて † Javaを使ったゲームプログラミングについて書いてます。プログラムはJAR形式で公開しているのでダブルクリックで実行してください。ソースファイルはJARファイルの中に入っているので解凍してご覧下さい。基的に全部ソースファイル入ってます。著作権を主張することはないので自由に使ってください。プログラムが実行できない等の質問はコメント欄や掲示板にお願いします。関連情報やつっこみも大歓迎です。 人工知能に関するブログ人工知能に関する断想録も書いてます。ゲームにさまざまな人工知能技術を応用したいと思ってます。 ↑

  • hellohiro.com

    DOMAIN SALE CLICK HERE TO BUY NOW +1 855-646-1390

  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
  • 出羽ブログ

    不動産大手5社のオークションである AUC’S(オークス)が今日始動のようです。 不動産オークションのAUC’S(オークス) http://www.auc-s.com/ 時代も変わったもんだ。 今回はいくつかの重要な機能改善が施されています。 前バージョンとの変更点を効率的に把握するために、 1.0.2 から 1.0.3-rc1 までの差分ドキュメントをどうぞ。 機能リファレンス(featureReference.html) アノテーションリファレンス(annotationReference.html) 設定ファイルリファレンス(fileReference.html) リリースノート http://sastruts.seasar.org/releaseNotes.html ダウンロード http://sastruts.seasar.org/download.html Java SE 7の要

    出羽ブログ
    bigbro
    bigbro 2009/03/11
    出羽さんのはてダ
  • Plain Old Java Object - Wikipedia

    Plain Old Java Object (POJO) は、あるJavaオブジェクトがEJB(特にEJB 3より前のEJB)のように特殊なものではなく、ごく普通のJavaオブジェクトであることを強調した名称。設計はシンプルであればあるほど良いと主張する人たちが好んで使用する。 概要[編集] 2000年9月にマーティン・ファウラーとレベッカ・パーソンズ、ジョシュ・マッケンジーがこの用語を使い始めた。「システムに普通のオブジェクトを使うことに強い抵抗を持つ人が多いのはなぜかと考えたとき、それは単純なオブジェクトに良い名前がついていないのが原因だという結論に達した。そこで我々が名前をつけたら、それがとても流行りだした。」[1] この命名法は、テレフォニーにおけるPOTS (Plain Old Telephone Service) や、C++で書かれているがC言語の機能しか使わないPODS (P

  • ホーム - Hello Hiro

    当社のトップ製品 当社のソフトウェアプログラムは、クリエイティブなデザインで高品質なものとなっています。スポーツブックメーカー、ウェルネス&スパセンター、旅行代理店などからの問い合わせを多く頂いており、すべてのお客様が新しくユニークなものを求めています。 Playbetソフトウェア このプラットフォームは、高度な数学的計算、体系的な情報交換、リアルタイムで最適化されたコミュニケーションを組み合わせたギャンブルに使用され、各ゲームユニットからの収益を最大化します。

    ホーム - Hello Hiro
  • デザインパターン[モデリング] -TECHSCORE-

    オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX

  • TECHSCORE - Java,SQLプログラミング技術解説

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • taediumの日記

    リリースしました。 詳細はこちらをご覧ください。 http://www.seasar.org/wiki/index.php?SeasarWhatsNew%2F2014-02-01#ie0983f2 Java 8 対応に伴い Doma 2 の開発を検討しています。 素案を書いてみました。 https://gist.github.com/nakamura-to/6751206 ご意見ありましたら、コメントをお願いします。 Daoフレームワーク Doma 1.35.0 をリリースしました。 ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移行するには移行ガイドを

    taediumの日記
    bigbro
    bigbro 2009/02/24
    中村年宏さんのはてダ
  • Inversion of Control コンテナと Dependency Injection パターン

    以下の文章は、Martin Fowler の「Inversion of Control Containers and the Dependency Injection pattern」を、かくたにが翻訳したものです。原著者の許可を得て翻訳・公開しています。 翻訳にあたっては、kdmsnr さんにご協力をいただきました。ありがとうございます。公開後の改訂履歴を記事の最後に記述しています。 Java コミュニティでは軽量コンテナが花盛りである。 軽量コンテナは、異なるプロジェクトのコンポーネントをひとまとまりのアプリケーションとして組み立てることを支援する。 このようなコンテナの根底には、コンポーネントの結び付け方についての共通したパターンがある。 そのパターンのコンセプトは「Inversion of Control(制御の反転)」と、まことに包括的な名前で呼ばれている。 記事では、このパタ

  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • 1