質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

2088閲覧

ライブラリの階層について

acre_maker

総合スコア145

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2015/01/31 01:25

こんにちは

JavaやPythonを使用していますが、その他の言語でも関連した質問かと思います。

ライブラリあるいはモジュールといったものを作成するにあたり

ライブラリあるいはモジュールの階層は皆さんどのようなどのような判断基準で分けているのでしょうか?

例えば、

hogehoge.fugaというライブラリが既に存在していて

hogehoge.fuga.piyoにするのか

hogehoge.piyoにするのか、

というときにどういうことを判断基準としているか知りたいです。

自身で作っているときに、自身の判断が一番いい方法なのか?と疑問に思うときがあります。

今まで読んできた本などでは解説していることがあまりないので、

経験上こうしているあるいはこういう本に書いている等の

情報いただけたらありがたく思います。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

「ライブラリの階層=抽象レベル」と考えてます。
浅い階層にはインターフェイスや共通に使う値クラスや列挙など。
深い階層にはより実装に近いレベル。
hogehoge.Data.SQL.Oracle
hogehoge.Data.SQL.MySQL
hogehoge.Data.XML.DOM
hogehoge.Data.XML.SAX
のような感じです。

投稿2015/02/20 17:33

shinosan

総合スコア209

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

acre_maker

2015/02/21 05:53

「ライブラリの階層=抽象レベル」とはなかなか考えることのなかった発想でした。 参考にしたいと思います。ありがとうございました。
guest

0

私の場合ですが、
[識別子].[機能].[処理,データ...etc]
みたいな感じにして、機能単位で作ったりします。
識別子は、「私がつくった」というのがわかるような文字列です。
例: com.taro

今回の場合、fugaとpiyoの関連を考えてどうやったらいいかを判断すればいいのではと思います。

投稿2015/02/20 15:55

T.Kuniyoshi

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

acre_maker

2015/02/21 05:54

回答ありがとうございます。 [識別子].[機能].[処理,データ...etc] の機能の部分は具体的にどのようになりますか? JavaでいうところのFileWriterやFileReaderといったものが該当しますかね?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問