Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Philosophical Software Developing

Philosophical Interpretation of Object-Oriented and Prototype-based Programming and their Design Patterns

  • Be the first to comment

Philosophical Software Developing

  1. 1. پيش گفتار 1
  2. 2. مراجع 2 Object Oriented Analysis &Design with Applications, Grady Booch تاريخ فلسفه، ويل دورانت، ترجمه عباس زرياب خويي www.wikipedia.org www.philosoftware.com, Ishay Ventura
  3. 3. مهندس ي نرم افزار فيلسوفانه What if Plato is a Software Engineer حسين فاني 4 ام ديماه 92
  4. 4. چشم انداز 4 Plato افلاطون  ُ Theory of Forms مُث نگرش اول : ل  Class Object Orientation کلاس ش ي گرايي  جملات فلسفي  Aristotle ارسطو  نگرش دوم: ش يء  Category دسته بندي  Inheritance  ارسطو و استاد  Wittgenstein ويتگنشتاين  فلسفه زبان  Family Resemblance شباهت خانوادگي  Prototype-based Object Orientation ش ي گرايي مبتني بر نمونه سازي  Philosophy-based Design Patterns الگوهاي فلسفي طراحي  مطالعه موردي  کارهاي آينده  الگوهاي طراحي مبتني بر نگرشهاي فلسفي 
  5. 5. 5 Plato افلاطون
  6. 6. 6 Cave غار
  7. 7. کلاس گرايي 7 Horseness ? …ness
  8. 8. کلاس گرايي 8 Demiurge الوهيت Creation? Making? Instantiation?
  9. 9. جملات فلسفي 9 Platonic Programing Meta Class اسب انسان زرد آلو ايده آليسم اسماء الهي سير انفسي علم تذکاري Static Class, Property
  10. 10. 10 Aristotle ارسطو Ethics Politics Art Metaphysics Logic Physics Zoology
  11. 11. 11 Aristotle ارسطو
  12. 12. 12 Change تغيير
  13. 13. 13 Change تغيير
  14. 14. 14 Category دسته بندي
  15. 15. 15 Inheritance وراثت
  16. 16. 16 Extension گسترش
  17. 17. 17 Wittgenstein ويتگنشتاين
  18. 18. 18 Game بازي
  19. 19. 19 Prototype-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" // bar.[[prototype]] = foo // var bar = Object.create( foo ); foo.name; // unaffected, resolves to "foo" bar.name; // Resolves to "foo"
  20. 20. 20
  21. 21. 21 الگوهاي طراحي فيلسوفانه www.PhiloSoftware.com History Pattern  Perdurantism Endurantism

×