Seasar.NET入門

Size: px
Start display at page:

Download "Seasar.NET入門"

Transcription

1 2007 Spring Seasar.NET 入門 Seasar.NET 杉本和也 2007 Spring Copyright The Seasar Foundation and the others. All rights reserved. 1

2 杉本和也と申します 高知県の株式会社アイビスに勤務しています プログラミング歴 6 年 オープンソース歴 2 年 自己紹介 Seasar.NET のリーダ S2Container.NETのコミッタ S2Dao.NETのリーダ 2

3 アジェンダ Seasar.NETについて S2Container.NETの使い方 S2Dao.NETの使い方 業務ロジックのためのDI まとめ 3

4 Seasar.NET について Seasar.NET について S2Container.NET の使い方 S2Dao.NET の使い方 業務ロジックのための DI まとめ 4

5 Seasar.NET とは Seasar プロジェクトで.NET Framework に関するプロダクトを扱うプロジェクト Seasar.NET プロジェクトに参加するには Sandbox プロジェクトにプロジェクト ( プロダクト ) を申請する その後 Sandbox 卒業したら Seasar.NET のプロダクトに 既存の Seasar.NET プロダクトのコミッタになる 希望者は連絡ください 5

6 Seasar.NET の目的 品質の高いソフトウェアを効率良く開発する為のプロダクトを開発 提供する 6

7 Seasar.NET の今 S2Container.NET AOP をサポートした DI コンテナ S2Dao.NET O/R マッピングフレームワーク 7

8 S2Container.NET の使い方 Seasar.NET について S2Container.NET の使い方 S2Dao.NET の使い方 業務ロジックのための DI まとめ 8

9 AOP をサポートした DI コンテナ S2Container.NET 3つのキーワード コンテナ DI AOP 9

10 コンポーネントを格納する クラスやインターフェース コンポーネントのインスタンスを管理する S2Container.NET コンテナについて コンポーネント コンテナ 下さい! コンポーネント DI コンテナを利用するプログラム コンポーネント どうぞ! 10

11 S2Container.NET コンテナのインスタンス管理 コンポーネントのインスタンスを管理する コンテナから利用側に どうぞ! するときにインスタンス化するかインスタンス化されたものを返す インスタンス化の種類 ( コンポーネントに設定できる ) singleton 1 度インスタンス化したら常に同じインスタンスを返す prototype 要求がある度に新しくインスタンス化したものを返す request(asp.net 連携時 ) 同じ request 内であれば同じインスタンスを返す session( ASP.NET 連携時 ) 同じ session 内であれば同じインスタンスを返す outer コンテナではインスタンスは管理しない 11

12 DI (Dependency Injection) S2Container.NET Dependency Injection について 直訳すると依存注入 コンポーネントが別のコンポーネントを必要としていればセットしてくれる ( 具体的にはクラスのフィールドに ) コンポーネント コンテナ 依存注入 下さい! コンポーネント 依存注入 コンポーネント どうぞ! DI コンテナを利用するプログラム 12

13 DI (Dependency Injection) の種類 S2Container.NET DI の種類 プロパティ インジェクション プロパティを使用し DI を行う コンストラクタ インジェクション コンストラクタを使用して DI を行う メソッド インジェクション メソッドを使用して DI を行う 自動バインディングを利用すると簡単 13

14 S2Container.NET 使い方 S2Container.NET のコンテナを S2 コンテナと呼ぶ 1. コンポーネントをS2コンテナに格納する 2. S2コンテナからコンポーネントを受け取る 3. コンポーネントを使う 14

15 S2Container.NET コンポーネントの格納 定義ファイル (dicon ファイル ) S2 コンテナファクトリ -S2ContainerFactory -SingletonS2ContainerFactory 1. dicon ファイルにコンポーネントの定義を記述する 2. S2 コンテナファクトリに dicon ファイルをセットする 3. S2 コンテナファクトリから S2 コンテナを作成する S2 コンテナ 15

16 S2Container.NET dicon ファイル Logic.dicon( 埋め込まれたりソース ) <components> <component name= employeelogic class= EmployeeLogic /> <component class= DepartmentLogic /> </components> 16

17 // 部署ロジックインターフェース public interface IDepartmentLogic { } // 部署ロジック実装クラス public class DepartmentLogic : IDepartmentLogic { } S2Container.NET コンポーネントのサンプル // 社員ロジックインターフェース public interface IEmployeeLogic { } // 社員ロジック実装クラス public class EmployeeLogic : IEmployeeLogic { private IDepartmentLogic departmentlogic; public IDepartmentLogic DepartmentLogic { set { departmentlogic = value; } } } 17

18 S2Container.NET コンポーネントを取得して使う // S2コンテナファクトリに定義ファイルをセットする SingletonS2ContainerFactory.ConfigPath = Logic.dicon ; // S2コンテナファクトリを初期化する SingletonS2ContainerFactory.Init(); // S2コンテナファクトリからS2コンテナを作成する IS2Container container = SingletonS2ContainerFactory.Container; // S2コンテナからコンポーネントを取得する IEmployeeLogic logic = (IEmployeeLogic) container.getcomponent( employeelogic ); この logic には DepartmentLogic がセットされている 18

19 Web アプリケーション (ASP.NET) 実際の使われ方 S2HttpModule が用意されており そこで S2 コンテナを扱う Windows アプリケーション等 スタートアップ部分で 自分で S2 コンテナを扱う必要あり 19

20 AOP (Aspect Oriented Programming) AOP アスペクト指向プログラミング 本来の処理とは異なる処理をプログラムのソースコードに書かずに後から織り込みましょう! というプログラミング ロギングやトランザクション処理等に使用される S2Dao.NETのようなフレームワークを作成できる インターフェースに AOP で実装を追加する 20

21 S2Container.NET AOP を使わない場合 // 足し算を行うメソッド int Plus(int x, int y) { int result = x + y; return result; } ログを出力するプログラムを埋め込む // 足し算を行うメソッド ( ログ出力機能付き ) int Plus(int x, int y) { Console.WriteLine( 引数 : + x +, + y); int result = x + y; Console.WriteLine( 結果 : + result); return result; } 21

22 AOP を利用しない場合 S2Container.NET AOP コードの可動性が低下する ロギングのような処理を追加したり取り除いたりする際にバグが混入する可能性がある S2Container.NET の AOP の機能を利用して後から織り込もう! 22

23 S2Container.NET AOP の設定 <components> <component name= traceinterceptor class= Seasar.Framework.Aop.Interfaces.TraceInt erceptor /> <component class= CulcLogic > <aspect>traceinterceptor</aspect> </component> </components> 23

24 S2Dao.NET の使い方 Seasar.NET について S2Container.NET の使い方 S2Dao.NET の使い方 業務ロジックのための DI まとめ 24

25 S2Dao.NET O/R マッピングフレームワーク S2Dao.NET は O/R マッピングフレームワーク マッピング情報は XML に記述しない データベースへの SQL 発行とオブジェクトへのマッピングを強力にサポート データの取得 データの更新 Entity クラス Entity クラス Daoインターフェース Daoインターフェース テーブル テーブル 25

26 S2Dao.NET 利用手順 1. テーブルに対応したEntityクラスを作る 2. Entityクラスに対応したDaoインターフェースを作る 3. 必要に応じてDaoインターフェースにメソッドを追加する 4. DiconファイルにDaoを登録する 5. DaoをロジッククラスにDIして使う 26

27 基本的にテーブルと 1 対 1 で作成する 基本 テーブル名と同じ名前のクラス名にする 基本 カラム名と同じ名前のプロパティ名にする S2Dao.NET Entity クラス public class Employee { private int empid; private int empcode; private string empname; public int EmpID { set { empid = value; } get { return empid; } } 27

28 S2Dao.NET Entity クラスに指定できる属性 クラスに指定できる属性 Table 属性 ( テーブル名とクラス名が異なる場合に指定 ) NoPersistentProps 属性 ( カラムとマッピングしないプロパティを指定 ) VersionNo 属性, Timestamp 属性 ( 排他制御を行うプロパティを指定 ) プロパティに指定できる属性 Column 属性 ( カラム名とプロパティ名が異なる場合に指定 ) Relno 属性, Relkeys 属性 ( 別テーブルとの結合を指定 ) ID 属性 (ID の自動生成を指定 ) 28

29 S2Dao.NET Dao インターフェース Entity クラスと 1 対 1 でインターフェースを作成する IEmployeeDao 発行する SQL と 1 対 1 でメソッドを追加する 更新系メソッド ( メソッド名が下記で始まる ) Insert 処理 (Insert, Add, Create) Update 処理 (Update, Modify, Store) Delete 処理 (Delete, Remove) 検索系メソッド 更新系メソッド以外で戻り値の型を指定する 29

30 更新系メソッド SQL を自動生成させる場合 引数は Entity クラス SQLファイルや属性を使ってSQLをカスタマイズ 戻り値の型はSystem.Int32かvoid System.Int32 であれば更新行数が戻り値 検索系メソッド 戻り値の型が Entity クラスであれば 1 件分を取得 S2Dao.NET Dao のメソッドルール 戻り値の型がEntityクラスの配列, IList, IList<Entityクラス > であれば複数件を取得 戻り値の型が上記以外であれば 1カラムの値を取得 引数名からWHERE 句を自動生成 30

31 S2Dao.NET Dao インターフェースサンプル [Bean(typeof(Employee))] public interface IEmployeeDao { int InsertEmp(Employee emp); [Sql("delete from Employee where EmpCode=/*empCode*/")] void DeleteByEmpCode(int empcode); Employee GetByEmpCode(int empcode); [Query("order by EmpCode asc")] Employee[] GetAllEmployees(); } [Sql("select EmpName from Employee where EmpID=/*empID*/")] string GetEmpNameByEmpID(int empid); 31

32 S2Dao.NET Dao インターフェースに指定できる属性 インターフェースに指定 Bean 属性 (Entity クラスを指定する ) メソッドに指定 Query 属性 (Where 句以降を指定 ) Sql 属性 (SQL をまるごと指定 ) NoPersistentProps 属性 ( 自動生成 Update 文で更新しないプロパティを指定する ) PersistentProps 属性 ( 自動生成 Update 文で更新するプロパティを指定する ) 32

33 S2Dao.NET SQL ファイル SQLをまるごと指定できる (SQL 属性と同じ ) Daoインターフェースと同じ名前空間に配置 ビルドアクションプロパティを 埋め込まれたリソース に設定 ファイル名は インターフェース名 _ メソッド名.sql IEmployeeDao_GetEmpNameByEmpID.sql select EmpName from Employee where EmpID=/*empID*/3 /*empid*/ はバインド変数コメント バインド変数コメントの後ろにテスト用のダミーデータ SQL 発行ツールでSQLを実行するとEmpID=3という値でテストが実行できる 33

34 S2Dao.NET 設定 <!-- データプロバイダや DB 接続文字列の設定はドキュメント参照 --> <!-- S2Dao.NET の DaoInterceptor とそれに必要なコンポーネント --> <component class="seasar.extension.ado.impl.basicdatareaderfactory" /> <component class="seasar.extension.ado.impl.basiccommandfactory" /> <component class="seasar.dao.impl.daometadatafactoryimpl" /> <component name="daointerceptor" class="seasar.dao.interceptors.s2daointerceptor"/> <!-- 社員 Dao --> <component class="iemployeedao"> <aspect>daointerceptor</aspect> </component> 34

35 業務ロジックのための DI Seasar.NET について S2Container.NET の使い方 S2Dao.NET の使い方 業務ロジックのための DI まとめ 35

36 Quill 業務ロジックのための DI ステートレスな業務ロジックの為の簡易 DI 機能 Quill 簡単 DI 機能 VSのツールボックスからFormにペタッと貼り付けるとDIが有効になる FormのフィールドにDIすべきものがあればDIする インターフェースの属性で実装クラスを指定する 属性で実装クラスが指定されていれば DI すべきとみなす AOPは属性で指定する S2コンテナと連携してS2コンテナのコンポーネントも扱える 36

37 制限された機能 DI のタイプはフィールド インジェクションのみ Quill 制限された機能 扱うクラスには引数なしのコンストラクタが必要 インスタンスは管理しない (singleton のみ ) 1つのインターフェースに1つの実装クラスしか指定できない 簡単 DIで小規模な開発でもDIの利用をしやすく Quillのソースコード量を最小限に保ち利用者が容易に確認できるようにする 37

38 Quill デモ 1 インタフェースを作る (Implementation 属性で実装クラスを指定する ) [Implementation(typeof(CulcLogic)] Public interface ICulcLogic { int Plus(int x, int y); } 2 実装クラスを作る (Aspect 属性でログ出力の Aspect を適用する ) Public class CulcLogic : ICulcLogic { [Aspect(typeof(ConsoleWriteInterceptor))] public int Plus(int x, int y) { Console.WriteLine( Plus が呼ばれた ); return x + y; } } 38

39 Quill デモ 3 Form を作る (ICulcLogic 型のフィールドを用意して使ってみる ) Public partial class Form1 : Form { private ICulcLogic culclogic = null; private void button1_click(object sender, EventArgs s) { int ret = culclogic.plus(1, 2); Console.WriteLine( 戻り値 : + ret); } } 4 デザイナから QuillControl を Form に貼り付ける 羽のアイコンはデフォルトで非表示なのでデザイナ上ではとりあえずじゃまにならないところに張っておく 39

40 Quill デモ 5 実行してボタンを押すとログが出力される (DI と AOP が動いたことがわかる ) これだけで簡単 DI+AOP! コンソールに出力されたログ Start:Seasar.Quill.Examples.CulcLogic#Plus // (Interceptor によるログ ) Plus が呼ばれた End :Seasar.Quill.Examples.CulcLogic#Plus // (Interceptor によるログ ) 戻り値 :3 40

41 まとめ Seasar.NET について S2Container.NET の使い方 S2Dao.NET の使い方 業務ロジックのための DI まとめ 41

42 まとめ S2Container.NET 実装クラスに依存せずインターフェース経由でやりとりを行える 変更 テスト 分業が行いやすい S2Dao.NET マッピング情報を XML に持たないので簡単に扱えることができ 劇的に生産性が向上する マッピングミスや ADO.NET の API の扱いのバグが無くなり品質が向上する Quill 42

43 S2Container.NET S2Dao.NET ご静聴ありがとうございました sugimotokazuya の日記 43

スライド 1

スライド 1 WindowsForm サンプル解説 S2Container.NET, S2Dao.NET コミッタ 藤井宏明 1 S2Container.NET の Examples フォルダに付属する WindowsSample の解説です 概要 アプリケーション アーキテクチャー ソリューション構成 プロジェクト概要 サンプル説明 2 Ⅰ. アプリケーション アーキテクチャー 3 アプリケーション アーキテクチャー

More information

早分かりS2Dao

早分かりS2Dao 2008 Spring 早分かり S2Dao Seasar プロジェクトコミッタ ( 株 ) エルテックス 大中浩行 2008 Spring Copyright 2004-2008 The Seasar Foundation and the others. All rights reserved. 1 アジェンダ はじめに S2Dao とは? S2Dao に必要なもの S2Dao を動かしてみる 挿入

More information

intra-mart im-JavaEE Framework

intra-mart im-JavaEE Framework intra-mart im-javaee Framework Version 6.1 Seasar2 連携ガイド 第四版 2008 年 5 月 30 日 > 変更年月日変更内容 2007/7/31 初版 2007/8/31 第二版 2.1.1 jta.diconの設定誤字 脱字の修正 2007/10/19 第三版 2.1.1.3 UserTransactionの設定を追加 2008/5/30

More information

S2DaoでもN:Nできます

S2DaoでもN:Nできます S2Dao でも N:N できます 1 自己紹介 名前 : 木村聡 ( きむらさとし ) Seasarプロジェクトコミッタ : S2Struts S2Mai 舞姫 仕事 ( 株 ) フルネス フレームワーク 自動生成ツール 2 これまで書いたものとか 書籍 : Eclipse で学ぶはじめての Java Seasar 入門 ~ はじめての DI&AOP~ 雑誌 Web 記事 CodeZine DB

More information

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介 Dolteng Scaffold に対する機能追加 とマスタ - ディテール Scaffold の紹介 せいいち (takao) 2009/03/07 目次 Dolteng Scaffold に対する機能追加 Scaffold に関して Ruby on Rails の Scaffold RoR Scaffold と Dolteng Scaffold の比較 Scaffold のデモ Scaffold

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse

More information

今さら人には聞けないAOP入門

今さら人には聞けないAOP入門 今さら人には聞けない AOP 入門 2006.11.12 エスエムジー株式会社小森裕介 ([email protected]) 1 はじめに えっ!?AOP って もう 今さら聞けない の? そんなことはない! と思います でも AOP が開発の中で一般的になりつつあるのもまた事実 そろそろ 知らない って言えなくなってきたアナタに AOPの基礎を50 分で伝授します! 2 はじめまして! 名前 :

More information

JPA & Kuina-Dao入門

JPA & Kuina-Dao入門 2007 Autumn JPA & Kuina-Dao 入門 2007.11.11 The Seasar Project 中村年宏 (taedium) 1 自己紹介 中村年宏 ブログ http://d.hatena.ne.jp/taedium/ hatena ne メールアドレス [email protected] コミッタとして関わっているプロダクト S2Container

More information

intra-mart WebPlatform/AppFramework

intra-mart WebPlatform/AppFramework intra-mart WebPlatform/AppFramework Ver.7.0 Seasar2 連携プログラミングガイド 2010/11/30 第 3 版 > 変更年月日変更内容 2008/07/07 初版 2009/02/27 第 2 版 3.1.2.1.1 im_hotdeploy.diconの設定 を追加 2010/11/30 第 3 版 3.1.2.2 Hot deploy

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 Copyright the Seasar Foundation and the others all rights reserved.

パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 Copyright the Seasar Foundation and the others all rights reserved. パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 1 目的 DI コンテナの実装によるパフォーマンスの違いを明らかにする DI コンテナが行う処理の中で どこに時間が掛かるのかを明らかにする 2 ベンチマーク測定環境 ハードウェア HP ProLiant DL360 G4p CPU: Intel Xeon

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

10th Developer Camp - B5

10th Developer Camp - B5 B5 PHP テクニカルセッション Delphi for PHP で作るリッチコンテンツブログ エンバカデロ テクノロジーズエヴァンジェリスト高橋智宏 アジェンダ コンポーネントをフル活用しよう お馴染み データモジュール Blog データの表示用ページ Blog データの登録用ページ 2 コンポーネントをフル活用しよう 開発環境の進歩と退化 80 年代の IDE が登場エディタ + コマンドライン型の開発から脱却

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

WebOTXマニュアル

WebOTXマニュアル WebOTX アプリケーション開発ガイド WebOTX アプリケーション開発ガイドバージョン : 7.1 版数 : 初版リリース : 2007 年 7 月 Copyright (C) 1998-2007 NEC Corporation. All rights reserved. 付録 4-2-1 目次 4. プログラミング 開発 (WebOTX)...3 4.2. EJBアプリケーション...3 4.2.1.

More information

intra-mart WebPlatform/AppFramework

intra-mart WebPlatform/AppFramework intra-mart WebPlatform/AppFramework Ver.7.2 Seasar2 連携プログラミングガイド 2010/04/01 初版 変更年月日 2010/04/01 初版 > 変更内容 目次 > 1 はじめに...1 1.1 目的...1 1.2 Seasar2 プロダクト...1 2 セットアップ...2 2.1 トランザクションマネージャとデータソース...2

More information

Microsoft認定資格問題集(70-483_demo)

Microsoft認定資格問題集(70-483_demo) Microsoft 認定資格問題集 受験番号 : 70-483 受験名 : C# でのプログラミング言語 : 日本語問題数 :179 問 テストバリュー (TESTVALUE) はこの日本語版問題集の著作権を所有します 問題集の他人への展開 譲渡 転売 複製 転載等の無断行為は法律上で禁止されています 違反が発覚した場合 法的措置を取らせて頂きますので 予めご了承ください 問題 1 Orderオブジェクトのコレクションがあります

More information

S2Dao入門

S2Dao入門 2007 Spring S2Dao 入門 大中浩行 (a.k.a. せとあずさ ) 2007 Spring Copyright 2004-2007 The Seasar Foundation and the others. All rights reserved. 1 自己紹介 大中浩行 (a.k.a. せとあずさ ) [email protected] http://www.fieldnotes.jp/d/

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23 SharpShooter Reports.Silverlight 基本的な使い方 Last modified on: August 16, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます 目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 1...

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Microsoft PowerPoint - Seasar2.5.ppt

Microsoft PowerPoint - Seasar2.5.ppt 2007 Spring Seasar2.5 ブルーオーシャン戦略とは 2007 Spring Copyright 2004-2007 The Seasar Foundation and the others. All rights reserved. 1 ブルーオーシャン 競争の無い未開拓市場 Wii レッドオーシャン ブルーオーシャン戦略とは 血みどろの戦いが繰り広げられる既存の市場 これまでのゲーム機

More information

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加 SharpShooter Reports.Win 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されま す 目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発...

More information

MVP for VB が語る C# 入門

MVP for VB が語る C# 入門 MVP for VB が語る C# 入門 2008.08.09 初音玲 自己紹介 Z80 アセンブラ 6809 アセンブラ F-BASIC N88-BASIC FORTRAN 77 COBOL LISP Turbo Pascal Prolog KABA C 言語 M シリーズ アセンブラ PL/I VB3.0~ PL/SQL T-SQL VB2005/2008 index Microsoft Visual

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作 Access 2007 と SQL Server Express を使用 SQL 文は SQL Server 主体で解説 Access 版ノースウィンドウデータベースを使用 DBMS プログラム サーバーエクスプローラ SQL 文 実行結果 データベース エンジン データベース SQL 文とは 1 度のコマンドで必要なデータを効率よく取得するための技術といえます

More information

T2でつなごう! -つなぐつながるWebフレームワーク「T2」の紹介

T2でつなごう! -つなぐつながるWebフレームワーク「T2」の紹介 T2 でつなごう! - つなぐつながる Web フレームワーク T2 の紹介 T2 プロジェクト 米林正明 片山暁雄 自己紹介 名前 米林正明 ID id:yone098 所属 株式会社 Abby 代表取締役社長 自己紹介 名前 片山 暁雄 ID id:c9katayama 所属 株式会社キャピタルアセットプランニング Agenda T2の概要 T2の基本姿勢 T2の目指す所 機能紹介 DIコンテナ非依存

More information

Javaの作成の前に

Javaの作成の前に メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?

More information

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る

More information

PowerPoint Presentation

PowerPoint Presentation Webデザイン特別プログラムデータベース実習編 3 MySQL 演習, phpmyadmin 静岡理工科大学総合情報学部幸谷智紀 http://na-inet.jp/ RDB の基礎の基礎 RDB(Relational DataBase) はデータを集合として扱う データの取り扱いはテーブル (= 集合 ) の演算 ( 和集合, 積集合 ) と同じ データベースには複数のテーブルを作ることができる

More information

メディプロ1 Javaプログラミング補足資料.ppt

メディプロ1 Javaプログラミング補足資料.ppt メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?

More information

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成 KDDI ホスティングサービス (G120, G200) ブック ASP.NET 利用ガイド ( ご参考資料 ) rev.1.0 KDDI 株式会社 1 ( 目次 ) 1. はじめに... 3 2. 開発環境の準備... 3 2.1 仮想ディレクトリーの作成... 3 2.2 ASP.NET のWeb アプリケーション開発環境準備... 7 3. データベースの作成...10 3.1 データベースの追加...10

More information

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のようなサービスを利用する際 エンドユーザは利用申請を行うが 利用申請手段はメールや紙となっている そのため

More information

WPF アプリケーションの 多言語切替

WPF アプリケーションの 多言語切替 WPF アプリケーションの 多言語切替 YK S o f t w a r e 2015 年 6 月 2 日 @twyujiro15 プロフィール 加藤裕次郎 本職は製造業の開発業務 - 2009 年 4 月に入社 1982.03.03 生まれ ( うお座 ) 左利き ( お箸は右 ) twitter : @twyujiro15 プログラミング経験 Excel VBA MATLAB MATX C VC++

More information

データベースアクセス

データベースアクセス データベースアクセスコンポーネント 1. 概要 データベースアクセスコンポーネントとは SQL データベースにアクセスして SQL 文を実行することによりデータベース検索を行う機能を提供するコンポーネントです また データベースアクセスコンポーネントでは データベースの構成情報 接続情報 エラー情報等を取得することも可能です データベースアクセスコンポーネントは アプリケーションビルダーのメニューから以下のように選びます

More information

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid(text_box02_id); if (001 == statee 全体のヒント 1. テキストボックスの制御 1.1. 日付入力日付の入力ボックスは フォーカスが入った時にスラッショを消し フォーカスが他の項目等に移るとスラッシュが加わるようにする オンフォーカス 20100101 オフフォーカス 2010/01/01 1.1.1 オンフォーカス時にスラッシュを消す入力項目のスラッシュを消すには include/function.js ファイル内の var delslash

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

Oracle ADF 11g入門

Oracle ADF 11g入門 Oracle ADF 11g 入門 Oracle Fusion Web アプリケーションの構成要素の概要 Oracle ホワイト ペーパー 2007 年 4 月 Oracle ADF 11g 入門 開発者ガイドは Oracle JDeveloper に付属されているので すぐに使用できます これらのガイドは Oracle JDeveloper のスタート ページまたはオンラインの Oracle Technology

More information

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版   Copyright 2019 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 前処理プログラム 3.1. 前処理を実装する 3.1.1. 前処理の実装方式 3.1.2. 前処理の実行順序と引数 3.1.3. リクエストパラメータの解析

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 5 回 ) 工学部情報工学科 木村昌臣 今日のテーマ データベース入門 データベースシステムの用意の仕方 データベースを作ってみる データベースを使ってみる データベースプログラミング JDBCを使った検索プログラム JDBCを使った更新プログラム データベース入門 今回の説明は Windows 環境を前提としているため Linux など他のプラットフォーム上で作業を行う場合は

More information

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1 解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1つ分となっています 4 問題の 中の 1 2 などには 特に指 がないかぎり 与えられた 問選択肢群が

More information

HTTP 404 への対処

HTTP 404 への対処 Sitecore CMS 6 HTTP 404 への対処 Rev: 2010-12-10 Sitecore CMS 6 HTTP 404 への対処 Sitecore を使用して HTTP 404 Page Not Found 状態に対処するための開発者向けガイド 目次 Chapter 1 イントロダクション... 3 Chapter 2 HTTP 404 Page Not Found 状態... 4

More information

Caché SQL ゲートウェイの使用法

Caché SQL ゲートウェイの使用法 Caché SQL ゲートウェイの 使用法 Version 5.1 2006-03-14 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Caché SQL ゲートウェイの使用法 Caché Version 5.1 2006-03-14 Copyright 2006 InterSystems

More information

C#の基本2 ~プログラムの制御構造~

C#の基本2 ~プログラムの制御構造~ C# の基本 2 ~ プログラムの制御構造 ~ 今回学ぶ事 プログラムの制御構造としての単岐選択処理 (If 文 ) 前判定繰り返し処理(for 文 ) について説明を行う また 整数型 (int 型 ) 等の組み込み型や配列型についても解説を行う 今回作るプログラム 入れた文字の平均 分散 標準偏差を表示するプログラム このプログラムでは calc ボタンを押すと計算を行う (value は整数に限る

More information

基本情報STEP UP演習Java対策

基本情報STEP UP演習Java対策 トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる

More information

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010 RW View Studio Getting Started (1) : 簡単な GUI アプリケーションを作成する 目次 第 1 章はじめに...1 1.1 アプリケーションの概要... 1 1.2 Views Studio とは... 2 第 2 章 Views Studio を起動する...3 2.1 起動画面 ( メインウィンドウ ) の説明... 4 2.2 ガジェットエクステンション...

More information

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)... レコードセット (ADODB.Recordset) の使い方 作成日 : 2018/02/05 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2018/02/05 新規作成 西村 1 目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst,

More information

スライド 1

スライド 1 XML with SQLServer ~let's take fun when you can do it~ Presented by 夏椰 ( 今川美保 ) Agenda( その 1) XML XML XSLT XPath XML Schema XQuery Agenda( その 2) SQLServer における XML XML 型 XML Schema XQuery & XPath チェック制約

More information

mySQLの利用

mySQLの利用 MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で

More information

intra-mart Accel Platform

intra-mart Accel Platform セットアップガイド (WebSphere 編 ) 第 4 版 2014-01-01 1 目次 intra-mart Accel Platform 改訂情報 はじめに 本書の目的 前提条件 対象読者 各種インストール 設定変更 intra-mart Accel Platform 構成ファイルの作成 WebSphereの設定 Java VM 引数の設定 トランザクション タイムアウトの設定 データベース接続の設定

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 [email protected] 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

intra-mart Accel Platform — 招待機能プログラミングガイド   初版  

intra-mart Accel Platform — 招待機能プログラミングガイド   初版   Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 3. 権限リストを拡張する 2 改訂情報 変更年月日 変更内容 2016-04-01 初版 3 はじめに 項目 このガイドについて このガイドについて このガイドでは 招待機能の拡張方法および注意点について解説します 4 権限リストを拡張する 項目 この機能について実装済みの招待権限デコレータ実装方法設定方法

More information

Microsoft PowerPoint - JavaFesta.ppt

Microsoft PowerPoint - JavaFesta.ppt DI コンテナ Spring Framework による 次世代 Java EE アプリケーション開発 河村嘉之 日立ソフト研究部技師 / ソリューションアーキテクト Copyright Hitachi Softweare 2005 Engineering Hitachi Co., Software Ltd. 2004 Engineering All rights reserved. Co., Ltd.

More information

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

コンピュータ中級B ~Javaプログラミング~  第3回 コンピュータと情報をやりとりするには? Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 10 回オブジェクト指向って? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 2 第 10

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので

More information

いまさら人には聞けない DI×AOP入門

いまさら人には聞けない DI×AOP入門 いまさら人には聞けない DI AOP 入門 2009 2009.9.12 小森裕介 ([email protected]) 1 はじめまして! 名前 : 小森裕介 Blog:http://d.hatena.ne.jp/y-komori/ こもりん日記 所属 : ウルシステムズ株式会社 (http://www.ulsystems.co.jp) 主な仕事 : 各種 IT コンサルティング 各種 SI

More information

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX] 開発 運用時のガイド [UNIX] JDK8 への移行に伴う留意点 2015.10 O c t o b e r はじめに 本書は 開発 運用フェーズで使用するドキュメントとして Java TM Development Kit 8 への移行に伴う 留意点について記述しています 1. 対象とする読者本書は Java TM Development Kit 8 を使用し システムを設計 構築 運用する立場にある方を対象としています

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information