teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

2021/07/24 00:43

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -11,10 +11,10 @@
11
11
  * APIを叩く
12
12
 
13
13
  といった具合の分解能にしました。
14
- ですが、リクエストを作る、と言ってもベースのURLとパラメーター用のDictionaryを渡したら、いい感じに結合した文字列を返してくれるものであればいいので、わざわざインスタンス化して状態を保持する必要はないと思います。
14
+ ですが、リクエストを作る、と言ってもベースのURLとパラメーター用のDictionaryを渡したら、いい感じに結合した文字列を返してくれるものであればいいので、わざわざインスタンス化してフィールドや状態を保持する必要はないと思います。
15
15
  また、APIを叩く、も、文字列URLを受け取ってそこにリクエストを飛ばすだけで、その文字列に対して他の操作をすることはないので、これも状態を保持する必要がないように思えます。
16
16
  DBに関しては接続情報などの関係でインスタンス化したほうが管理しやすいかもしれませんが、この場合だと1箇所にしか接続することがなく、接続情報をconstで定義していれば、インスタンス化の意味がない気がします。
17
- のような感覚で書いていると全部static関数で書けてしまいました。
17
+ staticを使うとが適切であるかは分かりませんが、ただnewせずに使えるとい1点において、staticで書けそう多分をstaticで書いていると全部staticになってしまいました。
18
18
  staticで書いていてはオブジェクト指向の意味がなくなってしまうとは思うのですが、状態を保持する必要がないものまで、ちゃんとインスタンス化して関数を使ったほうが良いのでしょうか?
19
19
  それとも、今回のようなUtility用途だらけであれば、staticばかりになってしまってもよいのでしょうか?
20
20
  趣味で作ってはいますが、業務シーンと同等の作り込みをしたいので、パフォーマンス、メンテナンス性、可読性、他、の観点から指摘頂きたいです。

1

2021/07/24 00:43

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,8 @@
1
- C#エンョイ勢若造す。
1
+ オブェクト指向言語を用いた開発においてstatic関数だらけになることがあっていいのでしょうか?
2
2
  ググってもあまり納得できる回答が見つからなかったため、こういった場所で質問させていただくことにしました。
3
+ 質問する場所が違うようでしたら、お手数ですが、適していると思われる場所(サイト)を教えていただけると幸いです。
3
4
 
4
- 私は普段、オブジェクト指向での開発なのにstatic関数を使いがちになってしまいます。
5
- もちろん、何でもかんでもというわけではないのですが、ほぼ、何でもかんでものような状態になってしまいます。
6
- 例えば、「Azure Function を叩くとDBを見に行ってそのデータをもとにリクエストを作って別のAPIを叩く」というものを趣味で作っています。
5
+ 「Azure Function を叩くとDBを見に行ってそのデータをもとにリクエストを作って別のAPIを叩く」というものを趣味で作っています。
7
6
  このDLLを作るにあたって、私は
8
7
  * エントリーポイント
9
8
  * 以下を流れで行う関数
@@ -11,15 +10,13 @@
11
10
  * リクエストを作る
12
11
  * APIを叩く
13
12
 
14
- くらいの分解能にしました。
13
+ った具合の分解能にしました。
15
14
  ですが、リクエストを作る、と言ってもベースのURLとパラメーター用のDictionaryを渡したら、いい感じに結合した文字列を返してくれるものであればいいので、わざわざインスタンス化して状態を保持する必要はないと思います。
16
- また、APIを叩く、も文字列URLを受け取ってそこにリクエストを飛ばすだけで、その文字列に対して他の操作をすることはないので、これも状態を保持する必要がないように思えます。
15
+ また、APIを叩く、も文字列URLを受け取ってそこにリクエストを飛ばすだけで、その文字列に対して他の操作をすることはないので、これも状態を保持する必要がないように思えます。
17
16
  DBに関しては接続情報などの関係でインスタンス化したほうが管理しやすいかもしれませんが、この場合だと1箇所にしか接続することがなく、接続情報をconstで定義していれば、インスタンス化の意味がない気がします。
18
- という感で書いていると、(このDLLに関しては)全部static関数で書けてしまいました。
17
+ このよで書いていると、全部static関数で書けてしまいました。
19
- もちろん、staticで書いていてはオブジェクト指向の意味がない事はわかっています。
20
- ただの関数型プログラミングになってしまっていることは理解しています。
21
- が、状態を保持する必要がないものまで、ちゃんとインスタンス化して関数を使ったほうが良いのでしょうか?
18
+ staticで書いていてはオブジェクト指向の意味なくなってしまうとは思うのですが、状態を保持する必要がないものまで、ちゃんとインスタンス化して関数を使ったほうが良いのでしょうか?
22
19
  それとも、今回のようなUtility用途だらけであれば、staticばかりになってしまってもよいのでしょうか?
23
- パフォーマンス、メンテナンス性、可読性いろいろな観点からの意見がほしいです。
20
+ 趣味で作ってはいますが、業務シーンと同等の作り込みをしたいので、パフォーマンス、メンテナンス性、可読性、他、の観点から指摘頂きたいです。
24
21
 
25
22
  また、そもそも設計が悪い、という指摘がありましたら、具体的に良くない点と、改善案をお教えいただけると幸いです。