CSC/ECE 517 Fall 2009/wiki3 8 ISPPSI: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 11: Line 11:


Here is an example of the Interface-Segregation Principle.  Consider a User interface for ATM machine, where it may logically stand to reason you may have separate interfaces for a person conducting a 1) Deposit Transaction, 2) Withdrawal Transaction, and 3) Transfer Transaction.  You would definitely separate these 3 interfaces from each other so that one type of transaction does not depend on functions it does not need
Here is an example of the Interface-Segregation Principle.  Consider a User interface for ATM machine, where it may logically stand to reason you may have separate interfaces for a person conducting a 1) Deposit Transaction, 2) Withdrawal Transaction, and 3) Transfer Transaction.  You would definitely separate these 3 interfaces from each other so that one type of transaction does not depend on functions it does not need
==Problems with Fat Interfaces==


=Comparision of Aptana,Netbeans and Rubymine=
=Comparision of Aptana,Netbeans and Rubymine=

Revision as of 19:38, 17 November 2009

Interface Segregation Principle vs. Principle of Small Interfaces


Introduction

This page tries to review Integrated Development Environments for Ruby such as Aptana,Rubymine and Netbeans. Also the IDEs are compared with respect to certain dimensions such as facilities, ease of use, system requirements, and support for the Ruby way of thinking.

Interface Segregation Principle

  • “Many client specific interfaces are better than one general purpose interface“
  • “The dependency of one class to another one should depend on the smallest possible interface“
  • “Make fine grained interfaces that are client specific.“
  • “Clients should not be forced to depend upon interfaces that they don’t use. This principle deals with the disadvantages of fat interfaces. Fat interfaces are not cohesive. In other words the interfaces of classes should be broken into groups of member functions.“

Here is an example of the Interface-Segregation Principle. Consider a User interface for ATM machine, where it may logically stand to reason you may have separate interfaces for a person conducting a 1) Deposit Transaction, 2) Withdrawal Transaction, and 3) Transfer Transaction. You would definitely separate these 3 interfaces from each other so that one type of transaction does not depend on functions it does not need

Comparision of Aptana,Netbeans and Rubymine

Three IDEs namely Aptana's Radrails, Netbeans and Rubymine are compared in the following sections.

System Requirements

Features for Ruby

Other Features available in IDE's

Conclusion

References