+ All Categories
Home > Software > Philosophical Software Developing

Philosophical Software Developing

Date post: 29-Nov-2014
Category:
Upload: hossein-fani
View: 87 times
Download: 3 times
Share this document with a friend
Description:
Philosophical Interpretation of Object-Oriented and Prototype-based Programming and their Design Patterns
21
ار ت ف گ ش ي پ1
Transcript
Page 1: Philosophical Software Developing

1 پيش گفتار

Page 2: Philosophical Software Developing

2

Object Oriented Analysis &Design with Applications, Grady Booch

، ويل دورانت، ترجمه عباس تاريخ فلسفهزرياب خويي

www.wikipedia.org

www.philosoftware.com, Ishay Ventura

مراجع

Page 3: Philosophical Software Developing

مهندسي نرم افزار فيلسوفانه

حسين فاني92 ام ديماه 4

What if Plato is a Software Engineer

Page 4: Philosophical Software Developing

4

افالطونPlato 3ل Theory of Formsنگرش اول: م3ث گرايي شيکالس Class Object Orientationجمالت فلسفي

ارسطوAristotleنگرش دوم: شيء دسته بنديCategoryInheritanceارسطو و استاد ويتگنشتاينWittgenstein

فلسفه زبان شباهت خانوادگيFamily Resemblance

شي گرايي مبتني بر نمونه سازيPrototype-based Object Orientation

الگوهاي فلسفي طراحيPhilosophy-based Design Patterns

مطالعه مورديکارهاي آينده

الگوهاي طراحي مبتني بر نگرشهاي فلسفي

چشم انداز

Page 5: Philosophical Software Developing

5 Platoافالطون

Page 6: Philosophical Software Developing

6 Caveغار

Page 7: Philosophical Software Developing

7 کالس گرايي

…ness

?

Horseness

Page 8: Philosophical Software Developing

8 کالس گرايي

Demiurge الوهيت

Creation?Making?

Instantiation?

Page 9: Philosophical Software Developing

9 جمالت فلسفي

Meta Class

Platonic Programin

g

اسبانسان

زرد آلو

ايده آليسم

اسماء

الهي

سير انفسي

علم Staticتذکاري

Class, Propert

y

Page 10: Philosophical Software Developing

10

ارسطو Aristotle

Ethics

Politics

Art

ZoologyPhysics

Logic

Metaphysics

Page 11: Philosophical Software Developing

11

ارسطو Aristotle

Page 12: Philosophical Software Developing

12 Changeتغيير

Page 13: Philosophical Software Developing

13 Changeتغيير

Page 14: Philosophical Software Developing

14

دسته Categoryبندي

Page 15: Philosophical Software Developing

15

وراثت Inheritance

Page 16: Philosophical Software Developing

16

گسترش Extension

Page 17: Philosophical Software Developing

17ويتگنشتاين

Wittgenstein

Page 18: Philosophical Software Developing

18 Gameبازي

Page 19: Philosophical Software Developing

19Prototype-based

Programming

// JavaScript. //"ex nihilo" object creation using the literal var foo = {name: "foo", one: 1, two: 2};var bar = {two: "two", three: 3}; bar.__proto__ = foo; // foo is now the prototype of bar. bar.one // Resolves to 1.bar.three // Resolves to 3.bar.two; // Resolves to "two"

foo.name; // unaffected, resolves to "foo"bar.name; // Resolves to "foo"

// bar.[[prototype]] = foo// var bar = Object.create( foo );

Page 20: Philosophical Software Developing

20

Page 21: Philosophical Software Developing

21

Perdurantism Endurantism

الگوهاي طراحي فيلسوفانه

www.PhiloSoftware.com

History Pattern


Recommended