Skip to main content

Home/ Coders/ Group items tagged principles

Rss Feed Group items tagged

Fabien Cadet

Service Oriented Agony | 8th Light, 2012-02-01 by Bob Martin - 7 views

  • The structure seems obvious to system designers who have grown tired of single monolithic systems and want to break those systems up into components and services. What could be more natural than to break the system along the lines of data base managment?
  • Unfortunately this is a huge violation of the Single Responsibility Principle — or its big brother the Common Closure Principle.
  • These principles tell us to group together things that change together, and keep apart things that change for different reasons.
  • ...6 more annotations...
  • When you separate things that change for the same reasons, you have to make changes in many different places in the system.
  • So it’s a lot of work just to get anything working.
  • Moreover, when you group together things that change for different reasons, you expose the components of the system to collateral damage, thrashing, CM collisions, and a whole host of other problems.
  • So what’s the solution? First of all, I question whether the system needed to be partitioned into services.
  • Services are expensive and complicated, you should only create them if you absolutely need to. It’s always easier to live in a single process. Remember Martin Fowler’s first law of distributed objects: Don’t distribute your objects.
  • Many systems could be streamlined, and development made much faster, if the system designers paid more attention to the Single Responsibility Principle.
Fabien Cadet

vimperator : Firefox addon for vim-like browsing - 3 views

  •  
    « Writing efficient user interfaces is the main maxim, here at Vimperator labs. We often follow the Vim way of doing things, but extend its principles when necessary. Towards this end, we've created the liberator library for Mozilla based applications, to encapsulate as many of these generic principles as possible, and liberate developers from the tedium of reinventing the wheel. »
htmlslicemate.com

Principles of Design and David Kadavy's Design for Hackers, Interview - 0 views

  •  
    E-books about principles of design, and specifically about web design, are getting more and more popular. Years ago these kind of information can only be found on universities, but now they're everywhere and people are taking them in like hungry lions. If you don't know this, well, seriously, what rock have you been living under last year? Sacha Greif wrote "Step by Step UI design" Jarrod Drysdale wrote "Bootsrapping Design" Nathan Barry wrote three e-books, "App Design Handbook", "Designing Web Applications" and "Authority".
Fabien Cadet

Use your singletons wisely - 0 views

  • I know where you live anti-pattern
  • Liskov Substitution Principle
  • the easier it is to test a class, the more likely a developer will test it.
  • ...3 more annotations...
  • Don't worry: the code will always tell you what to do. Just listen.
  • The key points here are that a class is only a singleton if all applications treat it exactly the same and if its clients can use the class without an application context.
  • "[c]ode wants to be simple."
  •  
    "singletons are unnecessarily difficult to test and may make strong assumptions about the applications that will use them [...] I know where you live anti-pattern [...] Liskov Substitution Principle". "To decide whether a class is truly a singleton: * Will every application use this class exactly the same way? (exactly is the key word) * Will every application ever need only one instance of this class? (ever and one are the key words) * Should the clients of this class be unaware of the application they are part of?"
Joel Bennett

autofac - Project Hosting on Google Code - 4 views

  • Autofac is based on strongly component-oriented principles. It will change the way you approach dependency injection in .NET.
  •  
    Autofac is based on strongly component-oriented principles. It will change the way you approach dependency injection in .NET.
Andrey Karpov

Security, security! But do you test it? - 0 views

  •  
    There is no fragment in program code where you cannot make mistakes. You may actually make them in very simple fragments. While programmers have worked out the habit of testing algorithms, data exchange mechanisms and interfaces, it's much worse concerning security testing. It is often implemented on the leftover principle. A programmer is thinking: "I just write a couple of lines now, and everything will be ok. And I don't even need to test it. The code is too simple to make a mistake there!". That's not right. Since you're working on security and writing some code for this purpose, test it as carefully!
Fabien Cadet

2013: An Absolute Beginner's Tutorial on Dependency Inversion Principle, Inversion of C... - 4 views

  • According to the definition of Dependency inversion principle: High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.
htmlslicemate.com

Exclusive Freebie for Noupe's Readers: Freepik's 200 Beautiful Flat Icons - 0 views

  •  
    We are back with another freebie, the team of Freepik, our friends from sunny Spain, put together exclusively for you, Noupe's readership. Today we have 200 symbols compiled together in a "Flat Icon Set" for you to download. All these little pictograms stick to the principles of flat design, a major trend in design right now. You can use them freely for any type of project, but you can only get them here…
Joel Bennett

Microsoft Axum - Download Details - 0 views

  • Installer: Axum is an incubation project from Microsoft’s Parallel Computing Platform that aims to validate a safe and productive parallel programming model for the .NET framework. It’s a language that builds upon the architecture of the web and the principles of isolation, actors, and message-passing to increase application safety, responsiveness, scalability and developer productivity. Other advanced concepts we are exploring are data flow networks, asynchronous methods, and type annotations for taming side-effects. Programmer's Guide: Use this simple and easy to follow programmer's guide to learn how to create safe, scalable, and responsive applications with the Axum language. Language Specification: A detailed specification of the Axum language.
  •  
    A .NET language for safe, scalable and productive parallel programming through isolation, actors and message-passing ...
Fabien Cadet

Design Patterns: 15 Years After the Revolution, by Danny Kalev @ InformIT [2009-10-30] - 1 views

  • by defining a description template that included among the rest: Known uses. Sample code (as opposed to a typical algorithm which were often described in plain English and perhaps a few sketchy lines of pseudo-code). Collaboration (A description of how classes and objects used in the pattern interact with each other). Consequences (results and side-effects). Related patterns.
  • Would a 2009 catalog of the 23 classic design patterns look much different? According to the authors of Design Patterns: Elements of Reusable Code, the answer is no.
  • The authors would reclassify certain patterns and omit a few of the original patterns but the design and implementation would remain pretty much the same: "We have found that the object-oriented design principles and most of the patterns haven't changed since then" says Erich Gamma. You can't escape the feeling that patterns are frozen in time
  • ...2 more annotations...
  • In the meantime, in the C++ world the tide has turned towards a completely different paradigm known as generic programming (and to some extent, functional programming). Instead of plain classes and a complex inheritance chain, C++ these days uses templates, meta-programming and static type checking. The C++ Standard Library is the most prominent showpiece of the generic and functional programming idioms.
  • Over-engineering is another source of criticism. Programmers who become acquainted with patterns are often tempted to solve every problem using a pattern, even when a much simpler solution would probably be a better choice.
Fabien Cadet

Duck typing - Wikipedia [en] - 0 views

  • When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.
1 - 20 of 30 Next ›
Showing 20 items per page