コンテンツにスキップ

「利用者:Br3kyokyo/sandbox」の版間の差分

削除された内容 追加された内容
編集の要約なし
編集の要約なし
タグ: ビジュアルエディター Edit Check (references) activated 編集チェック(出典)を却下(その他)
32行目: 32行目:
==== 比例方式 ====
==== 比例方式 ====
比例代表制は国家における立法府選挙において最も広く使われている選挙方式であり、80カ国以上の議会がさまざまな形で比例方式を用いて選出されている。80カ国以上の議会がさまざまな形で選出されている。
比例代表制は国家における立法府選挙において最も広く使われている選挙方式であり、80カ国以上の議会がさまざまな形で比例方式を用いて選出されている。80カ国以上の議会がさまざまな形で選出されている。




'''ドメイン'''、または'''事業活動'''、'''事業領域'''とは、ソフトウェア工学において、あるソフトウェアが対象とする領域<ref name=":0">{{Cite book|和書 |title=ドメイン駆動設計をはじめよう |date=2024-07-18 |year=2024 |publisher=株式会社オライリー・ジャパン |page= |author=Vlad Khononov |translator=増田亨・綿引琢磨 |pages=xx, 44}}</ref>のことである。[[ドメイン駆動設計]]においては、事業領域内においては[[同じ言葉(ドメイン駆動設計)|同じ言葉]]に対して同じ業務ロジックを定義する。ドメイン駆動設計では、[[区切られた文脈(ドメイン駆動設計)|区切られた文脈]]を導入することによって、文脈によって異なる言葉の意味を明確にする。<ref name=":0" />

1883 年にアメリカ合衆国は野菜の輸入に10%の税金をかけました。しかし果実は 非課税です。植物学的にはトマトは果実であるとして、トマトの輸入業者は税金を 払おうとしませんでした。この抜け穴をふさぐために、1893 年に合衆国の最高裁判 所は「トマトは野菜である」という判決を下しました。その結果、合衆国の課税制 度という区切られた文脈では、トマトは野菜です。

[[ドメイン駆動設計]]においては、区切られた文脈内においては[[同じ言葉(ドメイン駆動設計)|同じ言葉]]に対して同じ業務ロジックを定義する。ドメイン駆動設計では、[[区切られた文脈(ドメイン駆動設計)|区切られた文脈]]を導入することによって、文脈によって異なる言葉の意味を明確にする。<ref name=":0" />

つまり、言葉の意味はそれを使う場所によって変化する、という事実をそのままソフトウェア設計に落とし込んだのがドメイン駆動設計である。

'''ドメインモデル'''は区切られた文脈によって明確に定義された言葉に属するロジックを表現するオブジェクトモデル<ref name=":0" />である。ドメインモデルは、事業領域ごとに個別に定義される。同じ言葉のドメインモデルであっても、事業領域が異なれば、

区切られた文脈

ここで、同じ言葉というのがドメインモデルである。

つまり、言葉の意味はそれを使う背景によって変化する、という事実をソフトウェアに落とし込んだものがドメイン駆動設計である。

形式的には、それが定義されている範囲の広さに関わらず、特定のプログラミングプロジェクトの対象領域を表現するものである<ref name="Bjørner">{{cite book |last=Bjørner |first=Dines |title=Software Engineering 3 – Domains, Requirements, and Software Design |url=https://www.springer.com/us/book/9783540211518 |access-date=2016-12-19 |type=book |volume=I |year=2006 |publisher=Springer Verlag |language=en |isbn=978-3-540-33653-2 |page=9 |chapter=The Triptych of Software Engineering}}</ref>。

ソフトウェア工学において、'''ドメイン'''とはコンピュータプログラムが対象とする領域のことである。形式的には、それが定義されている範囲の広さに関わらず、特定のプログラミングプロジェクトの対象領域を表現するものである。<ref name="Bjørner" /> 例えば、<blockquote>ソフトウェア工学の領域における'''ドメイン'''は一般に、アプリケーションが適用しようとする対象の領域のことを指す。言い換えれば、アプリケーション開発において、ドメインとは、「アプリケーションのロジックが関係する知識と活動の領域」である。ー Andrew Powell-Morse<ref name=":1">{{Cite web |url=https://airbrake.io/blog/software-design/domain-driven-design |title=Domain-Driven Design - What is it and how do you use it? |date=April 21, 2017 |author=Andrew Powell-Morse |access-date=May 2, 2020}}</ref></blockquote><blockquote>'''ドメイン''': 知識、影響力、活動の領域。ユーザがプログラムを適用する対象領域をソフトウェアのドメインと呼ぶ。ー {{仮リンク|エリック・エヴァンス|en|Eric Evans (technologist)}}<ref name=":2">{{cite web |url=https://domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf |title=Domain Driven Design Reference: Definitions and Pattern Summaries |author=Eric Evans |date=2015 |access-date=May 2, 2020 |website=domainlanguage.com}}</ref></blockquote>In [[:en:Software_engineering|software engineering]], '''domain''' is the targeted subject area of a [[:en:Computer_program|computer program]]. Formally it represents the target subject of a specific [[:en:Computer_programming|programming]] project, whether narrowly or broadly defined.<ref name="Bjørner" /> For example, for a particular programming project that has as a goal of the creation of a program for a particular hospital, that hospital would be the domain. Or, the project can be expanded in scope to include {{em|all}} hospitals as its domain.<ref name="Bjørner" />{{rp|352}} In a computer programming design, you define a domain by delineating a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in the area of computer programming, known as ''[[:en:Domain_engineering|domain engineering]]''. The word "domain" is also taken as a synonym of ''application domain''.<ref name="Bjørner" /><blockquote>'''Domain''' in the realm of software engineering commonly refers to the subject area on which the application is intended to apply. In other words, during application development, the domain is the "sphere of knowledge and activity around which the application logic revolves." —Andrew Powell-Morse<ref name=":1" /></blockquote><blockquote>'''Domain:''' A sphere of knowledge, influence, or activity. The subject area to which the user applies a program is the domain of the software. —Eric Evans<ref name=":2" /></blockquote>'''ドメイン'''とは、[[コンピュータプログラミング|コンピュータープログラミング]]の分野で問題を解決するために作られる任意のソフトウェア[[プログラム (コンピュータ)|プログラム]]に対して、一般的な要求、用語、機能を定義する研究分野である。[[ドメイン・エンジニアリング]]としても知られる。ドメインという単語は、「アプリケーションドメイン」の同義語としても使われる<ref>{{Cite book |last=Bjørner |year=2006 |chapter=The Tryptych of Software Engineering |page=9 |isbn=978-3-540-33653-2 |language=English |location= |publisher=Springer Verlag |month= |origyear= |first=Dines |volume=I |type=book |accessdate=2016-12-19 |url=https://www.springer.com/us/book/9783540211518 |title=Software Engineering 3 – Domains, Requirements, and Software Design |author-link= |authormask= |chapterurl=}}</ref>。また、知識の範囲(sphere of knowledge)という意味でも使われる。

2024年7月30日 (火) 05:01時点における版

選挙方式の種別

選挙制度の最も一般的な区分としては、「単数選出」と「複数選出」、「比例代表制」と「勝者総取り」と「混合選挙制度」がある。

単数選出、勝者総取り方式

全体で1人だけが選出される場合、選挙制度は常に勝者総取り方式である。1つの選挙区に対して1人だけが選出される場合も、同様のことが言える。選挙区は勝者総取りであるため、全体としても選挙制度は非比例的となる。(単一選挙区において)一度に複数人が選出される場合も、勝者総取りである。

政党ブロック投票においては、投票者は候補者個人に対してでなく、政党の候補者リストに対して投票し、最も多くの票を得た政党がすべての議席を獲得する。これは五カ国で混合選挙制度の一部として採用されている。[1]

相対多数投票と相対多数代表制(first-past-the-post, FPTP)

相対多数投票英語版は、最も多くの票を獲得した候補者一人、あるいは複数人が当選する方式であり、票全体の過半数を獲得する必要はない。一人が一候補者のみを選択する場合、これはfirst-past-the-post英語版(相対多数代表制[2], FPTP, 単純小選挙区制)と呼ばれ、これは国家の立法機関の選挙制度としては二番目に多く、58カ国に採用されており、[3]その大部分はイギリスやアメリカの植民地、または領土であった国々である。FPTPはまた、大統領選挙にも二番目に多く、19カ国で採用されている。[3] (単純小選挙区制は、相対多数代表制を採用している。)

一人が複数票を投じる場合は、定数が複数の選挙区であることが最も一般的であり、この場合、選挙制度にはいくつかの種類が存在する。ブロック投票(連記非移譲投票、multiple non-transferable, plurality-at-large)においては、投票者は選挙区定数と同数の票を、その政党に関わらず、任意の候補者に対して投じることができる。この方式は、8カ国で採用されている。[4]

認定投票は、多数派の支持を得て当選する候補者の数を増やすことを目的とした方式[5]で、これはchoose-all-you-likeと呼ばれ、投票者は好きなだけ多くの候補者を選ぶことができる。投じられた全ての票は投票者が選択した候補者の数に関わらず同等の重さとして扱われ、最も多くの票を獲得した候補者が当選する。[6]

決選投票方式

決選投票システムでは、候補者が当選するには票の過半数を得る必要がある。これは決選投票や最終ラウンド投票で行われる。この方式は過半数投票の一種として言及されることがあるが、勝敗が決まる最後のラウンドで必要とされる票は相対多数英語版で済むことが多い。さらには、過半数を得ていない第一ラウンドでの勝者が第二ラウンドに進むことなく当選を決めることさえある。社会選択理論においては、決選投票システムは過半数投票とは呼ばれず、コンドルセ方式英語版と呼ばれる。

決選投票システムには二つの主要な形式がある。一つは優先度付投票を用いて単一ラウンドで行われるもので、もう一つは複数回の投票により候補者を段階的に絞り込むものである。どちらも主に、単一議席の選挙区で行われる。

決選投票システムでは、優先順位付投票(即時決選投票, 英語: Instant run-off voting, IRV)を用いて一回の選挙で結果を確定させることができる。この方法では、投票者は好みに応じて候補者を順位づけする。この制度はオーストラリアパプアニューギニアの議会選挙で用いられている。初回投票で過半数の票を得た候補者がいなかった場合、最下位の候補者を落選として次点の選好票が他の候補者に配分される。この手続きを、一人の候補者が有効投票数の50%の票を得るまで繰り返す。全ての投票者が全ての選好票を行使しない場合、候補者が二人になるまで手続きが進むこともあり、その時点での最多得票者が当選となる。IRVを修正したものがContingent vote英語版で、投票者は全ての候補者のランク付けするのではなく、限られた数の選好票を持つ。初回ラウンドでどの候補者も過半数票を得なかった場合は、トップ二人を除く全ての候補者が除外され、除外された候補者の分の選好票が残った候補者に加算されて勝者が決定される。このシステムはスリランカの大統領選挙で用いられ、投票者は三人の選好票をもつ。[7]

決選投票システムのもう一つの主要な形式が、二回投票制である。これは大統領選挙においては最も一般的な形式であり、88カ国によって採用されている。これは立法府の選挙においても20カ国によって採用されている。[8] 第一ラウンドで過半数を得た候補者がいなかった場合、勝者を決定するために第二ラウンド投票が行われる。ほとんどの場合において、第二ラウンドは第一ラウンドでのトップ二人に限られるが、いくつかの選挙では複数の候補者が第二ラウンドに参加することがあり、その場合は相対多数により勝者が決定される。いくつかの国では二回投票制の修正版が用いられ、例えばエクアドルの大統領選挙では、ある候補者が40%を得票しかつ、次点の候補者に10%の差をつけている場合、勝利が宣言される。[9] また、アルゼンチンにおいては、45%の得票と10%の差であり、この制度はバロタージュ英語版 として知られている。場合によっては、決選投票が他のシステムを用いて行われることもあり、アメリカ選挙人団の過半数をどの候補も獲得しない場合の臨時選挙英語版がこれに該当する。

徹底投票英語版は投票回数を二回に限らず、各投票ラウンドで最下位の候補者が落選する。このシステムでは多くの投票回数が発生する可能性があるため、主要な選挙では採用されていないが、いくつかの国の議会議長選挙と、スイス連邦参事会参事の選挙で採用されている。一部形式では、一人の候補者が過半数を獲得するまで候補者が脱落せずに複数回の投票が行われることもある。

複数選出方式

比例方式

比例代表制は国家における立法府選挙において最も広く使われている選挙方式であり、80カ国以上の議会がさまざまな形で比例方式を用いて選出されている。80カ国以上の議会がさまざまな形で選出されている。



ドメイン、または事業活動事業領域とは、ソフトウェア工学において、あるソフトウェアが対象とする領域[10]のことである。ドメイン駆動設計においては、事業領域内においては同じ言葉に対して同じ業務ロジックを定義する。ドメイン駆動設計では、区切られた文脈を導入することによって、文脈によって異なる言葉の意味を明確にする。[10]

1883 年にアメリカ合衆国は野菜の輸入に10%の税金をかけました。しかし果実は 非課税です。植物学的にはトマトは果実であるとして、トマトの輸入業者は税金を 払おうとしませんでした。この抜け穴をふさぐために、1893 年に合衆国の最高裁判 所は「トマトは野菜である」という判決を下しました。その結果、合衆国の課税制 度という区切られた文脈では、トマトは野菜です。

ドメイン駆動設計においては、区切られた文脈内においては同じ言葉に対して同じ業務ロジックを定義する。ドメイン駆動設計では、区切られた文脈を導入することによって、文脈によって異なる言葉の意味を明確にする。[10]

つまり、言葉の意味はそれを使う場所によって変化する、という事実をそのままソフトウェア設計に落とし込んだのがドメイン駆動設計である。

ドメインモデルは区切られた文脈によって明確に定義された言葉に属するロジックを表現するオブジェクトモデル[10]である。ドメインモデルは、事業領域ごとに個別に定義される。同じ言葉のドメインモデルであっても、事業領域が異なれば、

区切られた文脈

ここで、同じ言葉というのがドメインモデルである。

つまり、言葉の意味はそれを使う背景によって変化する、という事実をソフトウェアに落とし込んだものがドメイン駆動設計である。

形式的には、それが定義されている範囲の広さに関わらず、特定のプログラミングプロジェクトの対象領域を表現するものである[11]

ソフトウェア工学において、ドメインとはコンピュータプログラムが対象とする領域のことである。形式的には、それが定義されている範囲の広さに関わらず、特定のプログラミングプロジェクトの対象領域を表現するものである。[11] 例えば、

ソフトウェア工学の領域におけるドメインは一般に、アプリケーションが適用しようとする対象の領域のことを指す。言い換えれば、アプリケーション開発において、ドメインとは、「アプリケーションのロジックが関係する知識と活動の領域」である。ー Andrew Powell-Morse[12]

ドメイン: 知識、影響力、活動の領域。ユーザがプログラムを適用する対象領域をソフトウェアのドメインと呼ぶ。ー エリック・エヴァンス英語版[13]

In software engineering, domain is the targeted subject area of a computer program. Formally it represents the target subject of a specific programming project, whether narrowly or broadly defined.[11] For example, for a particular programming project that has as a goal of the creation of a program for a particular hospital, that hospital would be the domain. Or, the project can be expanded in scope to include all hospitals as its domain.[11]:352 In a computer programming design, you define a domain by delineating a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in the area of computer programming, known as domain engineering. The word "domain" is also taken as a synonym of application domain.[11]

Domain in the realm of software engineering commonly refers to the subject area on which the application is intended to apply. In other words, during application development, the domain is the "sphere of knowledge and activity around which the application logic revolves." —Andrew Powell-Morse[12]

Domain: A sphere of knowledge, influence, or activity. The subject area to which the user applies a program is the domain of the software. —Eric Evans[13]

ドメインとは、コンピュータープログラミングの分野で問題を解決するために作られる任意のソフトウェアプログラムに対して、一般的な要求、用語、機能を定義する研究分野である。ドメイン・エンジニアリングとしても知られる。ドメインという単語は、「アプリケーションドメイン」の同義語としても使われる[14]。また、知識の範囲(sphere of knowledge)という意味でも使われる。

  1. ^ Table of Electoral Systems Worldwide Archived 2017-05-23 at the Wayback Machine. IDEA
  2. ^ 英国における2011年国民投票と選挙制度改革”. jstage. 2024年7月24日閲覧。
  3. ^ a b Table of Electoral Systems Worldwide Archived 2017-05-23 at the Wayback Machine. IDEA
  4. ^ Table of Electoral Systems Worldwide Archived 2017-05-23 at the Wayback Machine. IDEA
  5. ^ Fenster, Mark (1983). “Approval Voting: Do Moderates Gain?”. Political Methodology 9 (4): 355–376. JSTOR 25791202. https://www.jstor.org/stable/25791202 2024年5月24日閲覧。. 
  6. ^ What is Approval Voting?”. Election Science. The Center for Election Science. 2024年5月24日閲覧。 “Voters can vote for as many candidates as they want. The votes are tallied, and the candidate with the most votes wins!”
  7. ^ Sri Lanka: Election for President IFES
  8. ^ Table of Electoral Systems Worldwide Archived 2017-05-23 at the Wayback Machine. IDEA
  9. ^ Ecuador: Election for President Archived 2016-12-24 at the Wayback Machine. IFES
  10. ^ a b c d Vlad Khononov 著、増田亨・綿引琢磨 訳『ドメイン駆動設計をはじめよう』株式会社オライリー・ジャパン、2024年7月18日、xx, 44頁。 
  11. ^ a b c d e Bjørner, Dines (2006). “The Triptych of Software Engineering” (英語). Software Engineering 3 – Domains, Requirements, and Software Design (book). I. Springer Verlag. p. 9. ISBN 978-3-540-33653-2. https://www.springer.com/us/book/9783540211518 2016年12月19日閲覧。 
  12. ^ a b Andrew Powell-Morse (April 21, 2017). “Domain-Driven Design - What is it and how do you use it?”. May 2, 2020閲覧。
  13. ^ a b Eric Evans (2015年). “Domain Driven Design Reference: Definitions and Pattern Summaries”. domainlanguage.com. May 2, 2020閲覧。
  14. ^ Bjørner, Dines (2006). “The Tryptych of Software Engineering” (English). Software Engineering 3 – Domains, Requirements, and Software Design (book). I. Springer Verlag. p. 9. ISBN 978-3-540-33653-2. https://www.springer.com/us/book/9783540211518 2016年12月19日閲覧。