‍Changing in Design Pattern Catalog

  • یوسف مهرداد بی‌بالان

Larry O’Brien recently interviewed three of the Gang of Four about their seminal work on patterns, “Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson“.

Larry: How would you refactor “Design Patterns”?
Erich: We did this exercise in 2005. Here are some notes from our session.
When discussing which patterns to drop, we found that we still love them all. (Not really—I’m in favor of dropping Singleton. Its use is almost always a design smell.)
So here are some of the changes:

* Interpreter and Flyweight should be moved into a separate category that we referred to as “Other/Compound” since they really are different beasts than the other patterns. Factory Method would be generalized to Factory.

* The categories are: Core, Creational, Peripheral and Other. The intent here is to emphasize the important patterns and to separate them from the less frequently used ones.

* The new members are: Null Object, Type Object, Dependency Injection, and Extension Object/Interface (see “Extension Object” in Pattern Languages of Program Design 3, Addison- Wesley, 1997).

These were the categories:

* Core: Composite, Strategy, State, Command, Iterator, Proxy, Template Method, Facade

* Creational: Factory, Prototype, Builder, Dependency Injection

* Peripheral: Abstract Factory, Visitor, Decorator, Mediator, Type Object, Null Object, Extension Object

* Other: Flyweight, Interpreter

As I said above these are just notes in a draft state. Doing a refactoring without test cases is always dangerous.

Quote: Theory is when you know something, but it doesn’t work.
Practice is when something works, but you don’t know why it works.
Programmers combine Theory and Practice: Nothing works and they
don’t know why.

Agile Process Maturity Model

  • یوسف مهرداد بی‌بالان

Matt: The discussion about the Agile Process Maturity Model is exhaustive and controversial. Let’s start fresh. Could you give us your elevator pitch?

Scott: The short story is that that the APMM is a contextual framework for effective adoption and tailoring of agile processes and practices to meet the unique challenges faced by a system delivery team. There are three maturity levels (four, if you count level zero, which I don’t) that build upon each other:

  1. Level 1 Agile processes, such as Scrum and Agile Modeling, address a portion of the development life cycle. Level 1 processes and practices are optimized for small, co-located teams and are the building blocks for more mature solutions.

Agile Process Maturity Model

  • یوسف مهرداد بی‌بالان

Matt: The discussion about the Agile Process Maturity Model is exhaustive and controversial. Let’s start fresh. Could you give us your elevator pitch?

Scott: The short story is that that the APMM is a contextual framework for effective adoption and tailoring of agile processes and practices to meet the unique challenges faced by a system delivery team. There are three maturity levels (four, if you count level zero, which I don’t) that build upon each other:

  1. Level 1 Agile processes, such as Scrum and Agile Modeling, address a portion of the development life cycle. Level 1 processes and practices are optimized for small, co-located teams and are the building blocks for more mature solutions.

Designing object-oriented software is still hard

  • یوسف مهرداد بی‌بالان

Larry O’Brien recently interviewed three of the Gang of Four about their seminal work on patterns, “Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson“.

Larry O’Brien: “Designing object-oriented software is hard,” are the first words of Design Patterns. Are those words still accurate?

Richard Helm: Software design is always hard. Although most modern development environments do lots to reduce complexity through reusable libraries and toolkits (Eclipse, Apple, Microsoft), designing a software solution to the business problem is still hard.

Ralph Johnson: Designing software is hard. That is what makes it so fun! People who are good at designing software enjoy solving hard problems, at bringing order to chaos, at overcoming difficulties. Things that used to be hard are now easy, but we have moved on to working on problems that would have been impossible 20 years ago. OO programming helps but does not eliminate the difficulty of design.

Quote:
If debugging is the process of removing bugs, Then programming must be the process of putting them in. –Edsger Dijkstra

بدون عنوان

  • یوسف مهرداد بی‌بالان

بر اساس گزارش جدید صندوق بین المللی پول ، ایران رتبه اول را در آمار مهاجرت نخبگان از میان 91 كشور در حال توسعه یا توسعه نیافته دنیا كسب كرده است .
به گزارش عصر ایران صندوق بین‌المللی پول در این مورد گزارش داده است كه سالانه حدود 180 هزار ایرانی تحصیلكرده به امید زندگی و یافتن موقعیت های شغلی بهتر از كشور خارج می‌شوند . این صندوق بین المللی در گزارش خود می افزاید كه رقم خروج حدود 180 هزار نخبه تحصیلكرده از ایران ، به معنی خروج سالانه 50 میلیارد دلار ارز از كشور است .
طبق این آمار هم‌اكنون بیش از 250 هزار مهندس و پزشك ایرانی و بیش از 170 هزار ایرانی با تحصیلات عالیه در آمریكا زندگی می‌كنند و طبق آمار رسمی اداره گذرنامه، در سال 87 روزانه 3/2 نفر با مدرك دكترا، 15 نفر با مدرك كارشناسی ارشد، و صدها نفر با مدرك كارشناسی از كشور مهاجرت كرده اند .
مرجع:آینده نیوز

گزیده:
ندارد.

بدون عنوان

  • یوسف مهرداد بی‌بالان

بر اساس گزارش جدید صندوق بین المللی پول ، ایران رتبه اول را در آمار مهاجرت نخبگان از میان 91 كشور در حال توسعه یا توسعه نیافته دنیا كسب كرده است .
به گزارش عصر ایران صندوق بین‌المللی پول در این مورد گزارش داده است كه سالانه حدود 180 هزار ایرانی تحصیلكرده به امید زندگی و یافتن موقعیت های شغلی بهتر از كشور خارج می‌شوند . این صندوق بین المللی در گزارش خود می افزاید كه رقم خروج حدود 180 هزار نخبه تحصیلكرده از ایران ، به معنی خروج سالانه 50 میلیارد دلار ارز از كشور است .
طبق این آمار هم‌اكنون بیش از 250 هزار مهندس و پزشك ایرانی و بیش از 170 هزار ایرانی با تحصیلات عالیه در آمریكا زندگی می‌كنند و طبق آمار رسمی اداره گذرنامه، در سال 87 روزانه 3/2 نفر با مدرك دكترا، 15 نفر با مدرك كارشناسی ارشد، و صدها نفر با مدرك كارشناسی از كشور مهاجرت كرده اند .
مرجع:آینده نیوز

گزیده:
ندارد.

تیم چیست؟ – قسمت دوم

  • یوسف مهرداد بی‌بالان


Reference: Letters to Mindanao

Quote:
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. –Tom Cargill

برای خروج از جستجو کلید ESC را بفشارید