সলিড

Foysol3195: তথ্যসূত্র সংযোজন

[[সফটওয়্যার_প্রকৌশল | সফটওয়্যার প্রকৌশলে]] সলিড বা SOLID হচ্ছে পাঁচটি নীতির সংক্ষিপ্ত রূপ। এই পাঁচটি নকশা নীতি [[অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং]] বোধগম্য, নমনীয় এবং সহজভাবে বোঝার জন্য ২০০০ সালের দিকে পরিচয় করিয়ে দেন ”রবার্ট চেচিল মার্টিন” যিনি ”বব চাচা” নামে বেশি জনপ্রিয়। <ref name=”ub-old-web-solid”>{{cite web |author=Martin |first=Robert C. |author-link=Robert C. Martin |title=Principles Of OOD |url=http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod |url-status=live |archive-url=https://web.archive.org/web/20140910201842/http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod |archive-date=Sep 10, 2014 |access-date=2014-07-17 |website=ButUncleBob.com}}. (Note the reference to “the first five principles”, although the acronym is not used in this article.) Dates back to at least 2003.</ref><ref name=”ub-solid”>{{cite web |author=Martin |first=Robert C. |date=13 Feb 2009 |title=Getting a SOLID start |url=https://sites.google.com/site/unclebobconsultingllc/getting-a-solid-start |url-status=live |archive-url=https://web.archive.org/web/20130917122741/https://sites.google.com/site/unclebobconsultingllc/getting-a-solid-start |archive-date=Sep 17, 2013 |access-date=2013-08-19 |website=Uncle Bob Consulting LLC (Google Sites)}}</ref><ref name=”metz-presentation-2009″>{{cite web |author=Metz |first=Sandi |author-link=Sandi Metz |date=May 2009 |title=SOLID Object-Oriented Design |url=https://www.youtube.com/watch?v=v-2yFMzxqwU |url-status=live |archive-url=https://ghostarchive.org/varchive/youtube/20211221/v-2yFMzxqwU |archive-date=2021-12-21 |access-date=2019-08-13 |website=[[YouTube]]}}{{cbignore}} Talk given at the 2009 Gotham [[Ruby (programming language)|Ruby]] Conference.</ref><ref name=”ub-solid” /><ref name=”martin-design-principles”>{{Cite web |author=Martin, Robert C. |year=2000 |title=Design Principles and Design Patterns |url=http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf |url-status=usurped |archive-url=https://web.archive.org/web/20150906155800/http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf |archive-date=2015-09-06 |website=objectmentor.com}}</ref>{{Rp|pages=2-3}}

সলিড নীতিসমূহ হচ্ছে
* একক দায়িত্ব নীতি (Single responsibility)
* খোলা-বন্ধ নীতি (Open–closed)
* লিসকভ প্রতিস্থাপন নীতি (Liskov substitution)
* ইন্টারফেস বিভাজন নীতি (Interface segregation)
* নির্ভরতা বিপরীত নীতি (Dependency inversion)

== সারসংক্ষেপ ==
{| class=”wikitable” style=”width: auto; font-size: 95%; table-layout: fixed; line-height:1.25; margin-left: auto; margin-right: auto;”
|-
! প্রথম বর্ণ(ইংরেজি) !! নীতি(সংক্ষিপ রূপ) !! বর্ণনা
|-
! S
| এসআরপি
|
;একক দায়িত্ব নীতি
: একটি [[ক্লাস (কম্পিউটার প্রোগ্রামিং) | ক্লাস]] কিংবা বস্তুর শুধুমাত্র একটি দায়িত্ব থাকা উচিৎ এবং সেটি পরিবর্তনের জন্য একের অধিক কারণ থাকা উচিৎ নয়।<ref>{{cite web|title=Single Responsibility Principle|url=http://www.objectmentor.com/resources/articles/srp.pdf|url-status=usurped|archive-url=https://web.archive.org/web/20150202200348/http://www.objectmentor.com/resources/articles/srp.pdf|archive-date=2 February 2015|website=objectmentor.com}}</ref>
|-
! O
| ওসিপি
|
; খোলা বন্ধ নীতি
:সফ্টওয়্যার এনটিটি(ক্লাস, মডিউল, ফাংশন) সম্প্রসারণের জন্য খোলা থাকা উচিত কিন্তু পরিবর্তনের জন্য বন্ধ থাকতে হবে।<ref>{{cite web|title=Open/Closed Principle|url=http://www.objectmentor.com/resources/articles/ocp.pdf|url-status=usurped|archive-url=https://web.archive.org/web/20150905081105/http://www.objectmentor.com/resources/articles/ocp.pdf|archive-date=5 September 2015|website=objectmentor.com}}</ref>

|-
! L
| এলএসপি
|
;লিসকভ প্রতিস্থাপন নীতি
: যদি একটি ক্লাস থেকে সাবক্লাস নেয়া হয় তাহলে সেই সাবক্লাসটি ঐ ক্লাসের অখন্ডতা রক্ষা করে প্রতিস্থাপনযোগ্য হতে হবে।<ref name=”:0″>{{cite web|title=Liskov Substitution Principle|url=http://www.objectmentor.com/resources/articles/lsp.pdf|url-status=usurped|archive-url=https://web.archive.org/web/20150905081111/http://www.objectmentor.com/resources/articles/lsp.pdf|archive-date=5 September 2015|work=objectmentor.com}}</ref>
|-
! I
| আইএসপি
|
; ইন্টারফেস বিভাজন নীতি
:এমন পদ্ধতি প্রয়োগ করতে বাধ্য করা উচিৎ নয় যেটি ব্যাবহারকারী ব্যাবহার করবে না<ref>{{cite web|date=1996|title=Interface Segregation Principle|url=http://www.objectmentor.com/resources/articles/isp.pdf|url-status=usurped|archive-url=https://web.archive.org/web/20150905081110/http://www.objectmentor.com/resources/articles/isp.pdf|archive-date=5 September 2015|website=objectmentor.com}}</ref><ref name=”martin-design-principles”/>
|-
! D
| ডিআইপি
|
; নির্ভরতা বিপরীত নীতি
: উচ্চ স্তরের মডিউলগুলি নিম্ন স্তরের মডিউলগুলির উপর নির্ভর করা উচিত নয়<ref>{{cite web|title=Dependency Inversion Principle|url=http://www.objectmentor.com/resources/articles/dip.pdf|url-status=usurped|archive-url=https://web.archive.org/web/20150905081103/http://www.objectmentor.com/resources/articles/dip.pdf|archive-date=5 September 2015|work=objectmentor.com}}</ref><ref name=”martin-design-principles” />
|}

==তথ্যসূত্র==

[[বিষয়শ্রেণী:সফটওয়্যার প্রকৌশল]]
[[বিষয়শ্রেণী:কম্পিউটার বিজ্ঞান]]

Go to Source


Posted

in

by

Tags: