CSC/ECE 517 Fall 2012/Table Of Contents
Introduction
This wiki page will give you the outline of the topics from Wiki 1a and 1b. A brief introduction to the topics covered(in 1a and 1b) and the links to the appropriate topic is available on this page.
Object Oriented Programming in Ruby
Ruby is a dynamic, reflective, general-purpose object-oriented programming language.Ruby is all about objects.
The link given above contains an introduction to Object Oriented Programming and its primary concepts like abstraction,polymorphism,encapsulation and inheritance are explained. It mainly explains Object Oriented Programming in Ruby. A brief outline is given on objects,classes and inheritance.
Instance Variables,Instance Methods and Accessor Methods
Instance variables in ruby are defined.Instance methods and Accessor methods are explained briefly along with examples.
Class Variables and Class Methods
Class variables and Class Methods in Ruby are defined. The basic syntax to declare them as class variables and instance variables is given.
Code Reuse
Code reuse, also known as software reuse is the practice of using the same segment of code in multiple applications. The definition, overview and a brief history of code reuse is found here.
Techniques in Code Reuse
There are several [ http://expertiza.csc.ncsu.edu/wiki/index.php/CSC/ECE_517_Fall_2012/ch1_1w7_am#Techniques_.5B4.5D techniques] in code reuse. Code can be reused by using simple coding. For example, using a single line of code, we can reuse the code.Procedures and macros are the low level code reuse techniques.Methods can be used in code reuse, a method can be defined and declared multiple times wherever required. An individual software component is a software package, a Web service, or a module that encapsulates a set of related functions. All system processes are placed into separate components so that all of the data and functions inside each component are semantically related. Because of this principle, it is often said that components are modular and cohesive.
With the help of Packages,modules and inheritance, we can achieve code reuse.
Generators,Software architectures, code scavenging, Transformational systems, Very High Level Languages (VHLL) are more techniques of code reuse.
Here are some of the best practices to be followed to make sure that the code that is being written is reusable.
Advantages and Disadvantages of Code Reuse
Advantages and disadvantages of code reuse can be found here.
Here are few of the tradeoffs for code reuse at various levels of components.
References
http://en.wikipedia.org/wiki/Component-based_software_engineering