Search Results

Search found 19985 results on 800 pages for 'software estimation'.

Page 10/800 | < Previous Page | 6 7 8 9 10 11 12 13 14 15 16 17  | Next Page >

  • Your software-problem-solution approach

    - by Panoy
    Hi, I am unfamiliar with many software development philosophies/approaches such as these: DDD - Domain Driven Development Design TDD - Test Driven Development BDD - Behavior Driven Development Other 3-letter acronym that ends with "development" and many more My question is, when will you get to decide to choose what kind of philosophy/approach to follow? Espceially the top 3 approach in the list: What is TDD for? Why use DDD for this problem? Mainly your answer would be a case-to-case basis or maybe that there is no single universal philosophy/approach to consider. In that case, could you just tell me what type of project/scenario and why did you use that philosophy/approach.

    Read the article

  • Why are software schedules so hard to define?

    - by 0A0D
    It seems that, in my experience, getting us engineers to accurately estimate and determine tasks to be completed is like pulling teeth. Rather than just giving a swag estimate of 2-3 weeks or 3-6 months... what is the simplest way to define software schedules so they are not so painful to define? For instance, customer A wants a feature by 02/01/2011. How do you schedule time to implement this feature knowing that other bug fixes may be needed along the way and take up additional engineering time?

    Read the article

  • Examples of "Lost art" on software technology/development

    - by mamcx
    With the advent of a new technology, some old ideas - despite been good - are forgotten in the process. I read a lot how some "new" thing was already present in Lisp like 60 years ago, but only recently resurface with other name or on top of another language. Now look like the new old thing is build functional, non-mutable, non-locking-thread stuff... and that make me wonder what have been "lost" in the art of development of software? What ideas are almost forgotten, waiting for resurface? One of my, I remember when I code in foxpro. The idea of have a full stack to develop database apps without impedance mismatch is something I truly miss. In the current languages, I never find another environment that match how easy was develop in fox back them. What else is missing?

    Read the article

  • Software development, basics of design, conventions and scalability

    - by goce ribeski
    I need to improve my programming skills in order to achieve better scalability for the software I'm working on. Purpose is to learn the rules of adding new modules and features, so when it comes to maintaining existing ones there is some concept. So, I'm looking for a good book, tutorial or websites where I can continue to read about this. Currently, what I know and what I do is: to design relational database(3NF), make separate class for each table put that in MVC implement modular programming ...write code and hope for the best... I presume that next things I need to learn more deeply are: programming codex(naming, commenting, conventions...), organize functions building interfaces organizing custom made libraries, organizing API that I'm using, documenting, team work... ... At last what my job is, it does't need to affect your answer, PHP CodeIgniter developer.

    Read the article

  • Cannot Install Wine Windows platform loader both from Terminal and software Center

    - by Muhammad Mansoor
    I recently installed Ubuntu 13.04 on my PC. I want to install Microsoft Visual Studio 2010, so I tried to install WINE. I tried to install from the Terminal and from the Software Center. Both times, it failed in the middle of process. This is the error. W:Failed to fetch http://pk.archive.ubuntu.com/ubuntu/dists/raring/main/source/Sources 404 Not Found W:Failed to fetch http://pk.archive.ubuntu.com/ubuntu/dists/raring/restricted/source/Sources 404 Not Found E:Some index files failed to download. They have been ignored, or old ones used instead. How can I fix this?

    Read the article

  • Ubuntu software center crashes when i try to download anything

    - by vaggelas
    I was trying to set up an old printer by installing several drivers, and I got a problem in software center. I am unable to download anything from it. It opens, but when I try to download something it drops an error message and the installation stops. I can do all the installations from command line, so it is not a major problem, but still will be nice having it again. I reinstall it several times from terminal trying all the solutions I found in the forum, but still the problem is here. Any help is appreciated. This is the error I get. traceback usr/share/softwarecenter/backend/installbackend_impl/aptd.py line 383 in install defer = true DbusException : org.freedesktop.Dbus.Error.Spawn.Execfailed: failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper = Success

    Read the article

  • Best practices for upgrading user data when updating versions of software

    - by Javy
    In my code I check the current version of the software on launch and compare it to the version stored in the user's data file(s). If the version is newer, then I call different methods to update the old data to the newer data version, if necessary. I usually have to make a new method to convert the data with each update that changes user data in some way, and cannot remove the old ones in case there was someone who missed an update. So the app must be able to go through each method call and update their data until they get their data current. With larger data sets, this could be a problem. In addition, I recently had a brief discussion with another StackOverflow user this and he indicated he always appended a date stamp to the filename to manage data versions, although his reasoning as to why this was better than storing the version data in the file itself was unclear. Since I've rarely seen management of user data versions in books I've read, I'm curious what are the best practices for naming user data files and procedures for updating older data to newer versions.

    Read the article

  • Software Center doesn't ask for a password anymore

    - by Jeff
    So, out of the blue, software-center stopped asking me for a password. It just runs, and then turns grey. Works fine as root, or with sudo. While investigating, I found out about polkit (new to me), and looked at the policies, which seem fine. Looking under localauthority, however, showed that while the sub-directories (10-, 20-, 30-, 50-, 90-) are there, there aren't any files under those. Is that my problem? Should there be a file in the 50-local.d? Or am I still looking in the wrong place for my problem? I looked for similar questions and looked at the answers, but they don't really help any. One other thing, I'm not sure it's related but seemed to happen about the same time: The Dash Home only shows items for recent files and downloads. Nothing anywhere else anymore.

    Read the article

  • Install software with 12.04

    - by tigris
    Just freshly installed from 12.04 after using 11.04 and dist-upgrading to 11.10 a few months back, figured a fresh installation was due. First thing I noticed is that synaptic is no longer installed by default. I've no issues with this, and assume the approach to install packages is now via the ubuntu software center. However, I notice there are a lot of packages missing. I was looking for "vagrant", which I've had to install manually with a sudo apt-get install, but was hoping to use GUI for most things. Surely there is a GUI way? I also noticed when checking for "vim", it comes up with gVim and a little note at the bottom saying "show 2 technical items", which when clicked shows the vim I was looking for. Just curious what the expected GUI way is of installing these supposed "technical packages".

    Read the article

  • Rewriting software using Agile methodologies

    - by Asier
    Suppose you have to rewrite an entire application using Agile methodologies, how would you do it? I guess you could write a big bunch of user stories based in the behavior of your current system. And then implement them in small iterations. But this wouldn't mean that we have the requirements UP FRONT?? Also, when would you start releasing? Agile says we should release early and often, but it doesn't make much sense to release before the complete rewrite has been completed. Anybody has used Agile before to rewrite software? How did you do it?

    Read the article

  • siftware to manage applications within business.

    - by Richard Friend
    Hi I have been tasked to either find an off the shelf solution or to build inhouse some software that can maintain a list of all of the applications within our business, assign them to the different business areas that use them and list all the servers, documents, knowledge base etc that relate to the app in question. Does anyone know of any existing software that can do this ? Regards

    Read the article

  • Why are some checkboxes in Software Updater disabled?

    - by Drew Noakes
    In Ubuntu 13.04, the Software Updater shows some apps as having updates, but they're non-selectable: It's not clear why they're greyed out. On the command line: $ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done The following packages have been kept back: gnuplot-nox gnuplot-x11 nvidia-current 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. Note too that running apt-get dist-upgrade does not cause them to be installed either, as it sometimes does with packages that are kept back. Here's the output: $ sudo apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages have been kept back: gnuplot-nox gnuplot-x11 nvidia-current 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. I took @quidage's suggestion, which gives the following. However subsequent upgrades show the same message: $ sudo apt-get install -f Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

    Read the article

  • Unable to download anything from the Ubuntu software center

    - by Skittles
    I am trying to download softwares from ubuntu software center but every time i click on "USE THIS SOURCE" i end up getting "Failed to download repository information" error! I don't understand what to do I even tried changing and adding Repository. Even tried choosing a different server. Even the "Choose best server" option doesn't choose anything. I really need help. I am new to Ubuntu and i would really appreciate some help. after trying lsb_release -a; i got pooja@Invincible:~$ lsb_release -a; No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04 LTS Release: 12.04 Codename: precise After trying "sudo apt-get update && sudo apt-get upgrade" i got this- W: Failed to fetch http://mirror.cse.iitk.ac.in/ubuntu/dists/precise-proposed/universe/i18n/Translation-en Something wicked happened resolving 'mirror.cse.iitk.ac.in:http' (-5 - No address associated with hostname) E: Some index files failed to download. They have been ignored, or old ones used instead.

    Read the article

  • Software Center Freezing on Xubuntu 12.10

    - by AC3
    Whenever I open Software center I get this error: 012-12-12 16:19:29,196 - softwarecenter.fixme - WARNING - logs to the root logger: '('/usr/lib/python2.7/dist-packages/dbus/proxies.py', 410, '_introspect_error_handler')' 2012-12-12 16:19:29,196 - dbus.proxies - ERROR - Introspect error on :1.74:/com/ubuntu/Softwarecenter: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. 2012-12-12 16:19:54,713 - softwarecenter.ui.gtk3.app - INFO - setting up proxy 'None' 2012-12-12 16:19:54,816 - softwarecenter.db.database - INFO - open() database: path=None use_axi=True use_agent=True 2012-12-12 16:19:55,705 - softwarecenter.region - WARNING - failed to use geoclue: 'org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Geoclue.Master was not provided by any .service files' 2012-12-12 16:19:56,575 - softwarecenter.backend.reviews - WARNING - Could not get usefulness from server, no username in config file 2012-12-12 16:19:56,592 - softwarecenter.fixme - WARNING - logs to the root logger: '('/usr/lib/python2.7/dist-packages/gi/importer.py', 51, 'find_module')' 2012-12-12 16:19:56,592 - root - ERROR - Could not find any typelib for LaunchpadIntegration 2012-12-12 16:19:56,910 - softwarecenter.ui.gtk3.app - INFO - show_available_packages: search_text is '', app is None. 2012-12-12 16:19:56,935 - softwarecenter.db.pkginfo_impl.aptcache - INFO - aptcache.open() Not sure if it is a bug or not, have uninstalled and reinstalled the program already with synaptic. Very little experience with linux and any help will be appreciated

    Read the article

  • getting the following error in installing qt creator through software center

    - by I'll sudeepdino008
    getting the following error in installing qt creator through software center. The following packages have unmet dependencies: qtcreator: Depends: libqt4-help (>= 4:4.7.1) but 4:4.8.1-0ubuntu4 is to be installed Depends: libc6 (>= 2.15) but 2.15-0ubuntu10.2 is to be installed Depends: libgcc1 (>= 1:4.1.1) but 1:4.6.3-1ubuntu5 is to be installed Depends: libqt4-declarative (>= 4:4.7.4) but 4:4.8.1-0ubuntu4.2 is to be installed Depends: libqt4-designer (>= 4:4.7.1) but 4:4.8.1-0ubuntu4 is to be installed Depends: libqt4-network (>= 4:4.7.1) but 4:4.8.1-0ubuntu4.2 is to be installed Depends: libqt4-script (>= 4:4.7.1) but 4:4.8.1-0ubuntu4.2 is to be installed Depends: libqt4-sql (>= 4:4.7.1) but 4:4.8.1-0ubuntu4.2 is to be installed Depends: libqt4-svg (>= 4:4.7.1) but 4:4.8.1-0ubuntu4.2 is to be installed Depends: libqt4-xml (>= 4:4.7.1) but 4:4.8.1-0ubuntu4.2 is to be installed Depends: libqtcore4 (>= 4:4.8.0) but 4:4.8.1-0ubuntu4.2 is to be installed Depends: libqtgui4 (>= 4:4.8.0) but 4:4.8.1-0ubuntu4.2 is to be installed Depends: libstdc++6 (>= 4.4.0) but 4.6.3-1ubuntu5 is to be installed

    Read the article

  • Who makes software validation? What are the steps of its?

    - by uzay95
    Fill in the X,Y,Z please. Software validation has X,Y,Z steps. Client have to provide X,Y,Z to the developer before starting to write software. When software finished, validation completes with doing X,Y,Z (sign, approval, test pictures, logs etc.). If we buy a general software like invoice management tool or SAP module which can modify/change for every customer, who should make the software validation?

    Read the article

  • Quirks in .NET – Part 3 Marshalling Numbers

    - by thycotic
    Kevin has posted about marshalling numbers in the 3rd part of his ongoing blog series.   Jonathan Cogley is the CEO of Thycotic Software, an agile software services and product development company based in Washington DC.  Secret Server is our flagship enterprise password management product.

    Read the article

  • Getting Things Done for Programmers

    - by thycotic
    Ben has posted about one of my favorite topics – Getting Things Done from a programmer’s perspective.   Jonathan Cogley is the CEO of Thycotic Software, an agile software services and product development company based in Washington DC.  Secret Server is our flagship web-based password management product.

    Read the article

  • Using the Parallel class to make multithreading easy

    - by thycotic
    Kevin has posted about the Parallel class and how to use it to easily do multiple operations at once without radically changing the structure of your code.  Very neat stuff.   Jonathan Cogley is the CEO of Thycotic Software, an agile software services and product development company based in Washington DC.  Secret Server is our flagship enterprise password vault.

    Read the article

  • What are the software design essentials? [closed]

    - by Craig Schwarze
    I've decided to create a 1 page "cheat sheet" of essential software design principles for my programmers. It doesn't explain the principles in any great depth, but is simply there as a reference and a reminder. Here's what I've come up with - I would welcome your comments. What have I left out? What have I explained poorly? What is there that shouldn't be? Basic Design Principles The Principle of Least Surprise – your solution should be obvious, predictable and consistent. Keep It Simple Stupid (KISS) - the simplest solution is usually the best one. You Ain’t Gonna Need It (YAGNI) - create a solution for the current problem rather than what might happen in the future. Don’t Repeat Yourself (DRY) - rigorously remove duplication from your design and code. Advanced Design Principles Program to an interface, not an implementation – Don’t declare variables to be of a particular concrete class. Rather, declare them to an interface, and instantiate them using a creational pattern. Favour composition over inheritance – Don’t overuse inheritance. In most cases, rich behaviour is best added by instantiating objects, rather than inheriting from classes. Strive for loosely coupled designs – Minimise the interdependencies between objects. They should be able to interact with minimal knowledge of each other via small, tightly defined interfaces. Principle of Least Knowledge – Also called the “Law of Demeter”, and is colloquially summarised as “Only talk to your friends”. Specifically, a method in an object should only invoke methods on the object itself, objects passed as a parameter to the method, any object the method creates, any components of the object. SOLID Design Principles Single Responsibility Principle – Each class should have one well defined purpose, and only one reason to change. This reduces the fragility of your code, and makes it much more maintainable. Open/Close Principle – A class should be open to extension, but closed to modification. In practice, this means extracting the code that is most likely to change to another class, and then injecting it as required via an appropriate pattern. Liskov Substitution Principle – Subtypes must be substitutable for their base types. Essentially, get your inheritance right. In the classic example, type square should not inherit from type rectangle, as they have different properties (you can independently set the sides of a rectangle). Instead, both should inherit from type shape. Interface Segregation Principle – Clients should not be forced to depend upon methods they do not use. Don’t have fat interfaces, rather split them up into smaller, behaviour centric interfaces. Dependency Inversion Principle – There are two parts to this principle: High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions. In modern development, this is often handled by an IoC (Inversion of Control) container.

    Read the article

  • Software center is broken and can not be repaired or reinstalled

    - by Michal
    When I open the software center, I am told that I can not use it, for it is broken, and needs to be repaired. First I try to do this automatically, as I was offered. I enter a root password, and then the installation fails. installArchives() failed: reconfiguring packages... reconfiguring packages... reconfiguring packages... reconfiguring packages... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 275048 files and directories currently installed.) Unpacking wine1.4-i386 (from .../wine1.4-i386_1.4-0ubuntu4.1_i386.deb) ... dpkg: error processing /var/cache/apt/archives/wine1.4-i386_1.4-0ubuntu4.1_i386.deb (--unpack): trying to overwrite '/usr/bin/wine', which is also in package wine1.5 1.5.5-0ubuntu1~ppa1~oneiric1+pulse17 No apport report written because MaxReports is reached already dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/wine1.4-i386_1.4-0ubuntu4.1_i386.deb Error in function: dpkg: dependency problems prevent configuration of wine1.4-common: wine1.4-common depends on wine1.4 (= 1.4-0ubuntu4.1); however: Package wine1.4 is not installed. dpkg: error processing wine1.4-common (--configure): dependency problems - leaving unconfigured What should I do now? First of all, I've tried reinstalling the center, but it failed due to the same 1.4 dependency as is laid out here. I've googled for help and although I don't understand linux at all, I've tried some suggestions: I've tried editing the dpkg status in /var/lib/dpkg/status which failed because the file could not be found. I've tried purging wine/* but that had unresolved dependencies as well. It's a giant mess.

    Read the article

  • Agile Database Techniques: Effective Strategies for the Agile Software Developer – book review

    - by DigiMortal
       Agile development expects mind shift and developers are not the only ones who must be agile. Every chain is as strong as it’s weakest link and same goes also for development teams. Agile Database Techniques: Effective Strategies for the Agile Software Developer by Scott W. Ambler is book that calls also data professionals to be part of agile development. Often are DBA-s in situation where they are not part of application development and later they have to survive large set of applications that all use databases different way. Of course, only some of these applications are not problematic when looking what database server has to do to serve them. I have seen many applications that rape database servers because developers have no clue what is going on in database (~3K queries to database per web application request – have you seen something like this? I have…) Agile Database Techniques covers some object and database design technologies and gives suggestions to development teams about topics they need help or assistance by DBA-s. The book is also good reading for DBA-s who usually are not very strong in object technologies. You can take this book as bridge between these two worlds. I think teams that build object applications that use databases should buy this book and try at least one or two projects out with Ambler’s suggestions. Table of contents Foreword by Jon Kern. Foreword by Douglas K. Barry. Acknowledgments. Introduction. About the Author. Part One: Setting the Foundation. Chapter 1: The Agile Data Method. Chapter 2: From Use Cases to Databases — Real-World UML. Chapter 3: Data Modeling 101. Chapter 4: Data Normalization. Chapter 5: Class Normalization. Chapter 6: Relational Database Technology, Like It or Not. Chapter 7: The Object-Relational Impedance Mismatch. Chapter 8: Legacy Databases — Everything You Need to Know But Are Afraid to Deal With. Part Two: Evolutionary Database Development. Chapter 9: Vive L’ Évolution. Chapter 10: Agile Model-Driven Development (AMDD). Chapter 11: Test-Driven Development (TDD). Chapter 12: Database Refactoring. Chapter 13: Database Encapsulation Strategies. Chapter 14: Mapping Objects to Relational Databases. Chapter 15: Performance Tuning. Chapter 16: Tools for Evolutionary Database Development. Part Three: Practical Data-Oriented Development Techniques. Chapter 17: Implementing Concurrency Control. Chapter 18: Finding Objects in Relational Databases. Chapter 19: Implementing Referential Integrity and Shared Business Logic. Chapter 20: Implementing Security Access Control. Chapter 21: Implementing Reports. Chapter 22: Realistic XML. Part Four: Adopting Agile Database Techniques. Chapter 23: How You Can Become Agile. Chapter 24: Bringing Agility into Your Organization. Appendix: Database Refactoring Catalog. References and Suggested Reading. Index.

    Read the article

  • Intern Screening - Software 'Quiz'

    - by Jeremy1026
    I am in charge of selecting a new software development intern for a company that I work with. I wanted to throw a little 'quiz' at the applicants before moving forth with interviews so as to weed out the group a little bit to find some people that can demonstrate some skill. I put together the following quiz to send to applicants, it focuses only on PHP, but that is because that is what about 95% of the work will be done in. I'm hoping to get some feedback on A. if its a good idea to send this to applicants and B. if it can be improved upon. # 1. FizzBuzz # Write a small application that does the following: # Counts from 1 to 100 # For multiples of 3 output "Fizz" # For multiples of 5 output "Buzz" # For multiples of 3 and 5 output "FizzBuzz" # For numbers that are not multiples of 3 nor 5 output the number. <?php ?> # 2. Arrays # Create a multi-dimensional array that contains # keys for 'id', 'lot', 'car_model', 'color', 'price'. # Insert three sets of data into the array. <?php ?> # 3. Comparisons # Without executing the code, tell if the expressions # below will return true or false. <?php if ((strpos("a","abcdefg")) == TRUE) echo "True"; else echo "False"; //True or False? if ((012 / 4) == 3) echo "True"; else echo "False"; //True or False? if (strcasecmp("abc","ABC") == 0) echo "True"; else echo "False"; //True or False? ?> # 4. Bug Checking # The code below is flawed. Fix it so that the code # runs properly without producing any Errors, Warnings # or Notices, and returns the proper value. <?php //Determine how many parts are needed to create a 3D pyramid. function find_3d_pyramid($rows) { //Loop through each row. for ($i = 0; $i < $rows; $i++) { $lastRow++; //Append the latest row to the running total. $total = $total + (pow($lastRow,3)); } //Return the total. return $total; } $i = 3; echo "A pyramid consisting of $i rows will have a total of ".find_3d_pyramid($i)." pieces."; ?> # 5. Quick Examples # Create a small example to complete the task # for each of the following problems. # Create an md5 hash of "Hello World"; # Replace all occurances of "_" with "-" in the string "Welcome_to_the_universe." # Get the current date and time, in the following format, YYYY/MM/DD HH:MM:SS AM/PM # Find the sum, average, and median of the following set of numbers. 1, 3, 5, 6, 7, 9, 10. # Randomly roll a six-sided die 5 times. Store the 5 rolls into an array. <?php ?>

    Read the article

  • When software problems reported are not really software problems

    - by AndyUK
    Hi Apologies if this has already been covered or you think it really belongs on wiki. I am a software developer at a company that manufactures microarray printing machines for the biosciences industry. I am primarily involved in interfacing with various bits of hardware (pneumatics, hydraulics, stepper motors, sensors etc) via GUI development in C++ to aspirate and print samples onto microarray slides. On joining the company I noticed that whenever there was a hardware-related problem this would cause the whole setup to freeze, with nobody being any the wiser as to what the specific problem was - hardware / software / misuse etc. Since then I have improved things somewhat by introducing software timeouts and exception handling to better identify and deal with any hardware-related problems that arise eg PLC commands not successfully completed, inappropriate FPGA response commands, and various other deadlock type conditions etc. In addition, the software will now log a summary of the specific problem, inform the user and exit the thread gracefully. This software is not embedded, just interfacing using serial ports. In spite of what has been achieved, non-software guys still do not fully appreciate that in these cases, the 'software' problem they are reporting to me is not really a software problem, rather the software is reporting a problem, but not causing it. Don't get me wrong, there is nothing I enjoy more than to come down on software bugs like a ton of bricks, and looking at ways of improving robustness in any way. I know the system well enough now that I almost have a sixth sense for these things. No matter how many times I try to explain this point to people, it does not really penetrate. They still report what are essentially hardware problems (which eventually get fixed) as software ones. I would like to hear from any others that have endured similar finger-pointing experiences and what methods they used to deal with them.

    Read the article

  • help me to choose between two software architecture

    - by alex
    // stupid title, but I could not think anything smarter I have a code (see below, sorry for long code but it's very-very simple): namespace Option1 { class AuxClass1 { string _field1; public string Field1 { get { return _field1; } set { _field1 = value; } } // another fields. maybe many fields maybe several properties public void Method1() { // some action } public void Method2() { // some action 2 } } class MainClass { AuxClass1 _auxClass; public AuxClass1 AuxClass { get { return _auxClass; } set { _auxClass = value; } } public MainClass() { _auxClass = new AuxClass1(); } } } namespace Option2 { class AuxClass1 { string _field1; public string Field1 { get { return _field1; } set { _field1 = value; } } // another fields. maybe many fields maybe several properties public void Method1() { // some action } public void Method2() { // some action 2 } } class MainClass { AuxClass1 _auxClass; public string Field1 { get { return _auxClass.Field1; } set { _auxClass.Field1 = value; } } public void Method1() { _auxClass.Method1(); } public void Method2() { _auxClass.Method2(); } public MainClass() { _auxClass = new AuxClass1(); } } } class Program { static void Main(string[] args) { // Option1 Option1.MainClass mainClass1 = new Option1.MainClass(); mainClass1.AuxClass.Field1 = "string1"; mainClass1.AuxClass.Method1(); mainClass1.AuxClass.Method2(); // Option2 Option2.MainClass mainClass2 = new Option2.MainClass(); mainClass2.Field1 = "string2"; mainClass2.Method1(); mainClass2.Method2(); Console.ReadKey(); } } What option (option1 or option2) do you prefer ? In which cases should I use option1 or option2 ? Is there any special name for option1 or option2 (composition, aggregation) ?

    Read the article

< Previous Page | 6 7 8 9 10 11 12 13 14 15 16 17  | Next Page >