Questions tagged [grasp]

General Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP, consists of guidelines for assigning responsibility to classes and objects in object-oriented design.

General Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP, consists of guidelines for assigning responsibility to classes and objects in object-oriented design.

The different patterns and principles used in GRASP are: Controller, Creator, Indirection, Information Expert, High Cohesion, Low Coupling, Polymorphism, Protected Variations, and Pure Fabrication. All these patterns answer some software problem, and in almost every case these problems are common to almost every software development project. These techniques have not been invented to create new ways of working, but to better document and standardize old, tried-and-tested programming principles in object-oriented design.

(Extracted from the Wikipedia article on GRASP)

31 questions
1
vote
1 answer

GRASP Indirection vs Mediator Pattern

What is the difference between GRASP Indirection and Mediator Pattern? I've tried googling but did not find the information.
1
vote
3 answers

The "Dial-able" Power Principle (aka?)

As a designer, I like providing interfaces that cater to a power/simplicity balance. For example, I think the LINQ designers followed that principle because they offered both dot-notation and query-notation. The first is more powerful, but the…
Brent Arias
  • 29,277
  • 40
  • 133
  • 234
1
vote
2 answers

Who should be responsible for calling a method?

If I have complex a task to solve I sometimes end up in a situation where I have one method that controls the execution. Because of null checks, if statements, calling methods that map between types and so on, this method can become really long and…
1
vote
1 answer

What is the most cohesive location to utilize a logger?

I've written a task manager program using Java, and made a single UI implementation for the moment in swing. The program has 3 layers at the moment. A presentation layer that interacts with the domain layer via a use case controller, and finally a…
Bnjmn
  • 1,973
  • 1
  • 20
  • 34
1
vote
4 answers

MVC pattern, no database, where to store objects?

I'm working on a school project and or task is to design a project management tool. We are allowed to use any design pattern as long as we can explain how it's good according to the GRASP principles. I'll give a synopsis of the project…
Stanko
  • 4,275
  • 3
  • 23
  • 51
1
vote
1 answer

How to implement use case controller in a php(and javascript) project

I'm a beginner in PHP and Design Patterns. I'm having trouble implementing use case controller in an application containing javascript and php. I'm trying to make a project of student profile manager. I have a use case of "Upload Marks" in which…
Mustehssun Iqbal
  • 576
  • 3
  • 19
1
vote
1 answer

Grasp Controller, Does it really need a UI to exist?

I have a Domain model which can be in multiple states, and if these states go out of a given range the domain should automatically react. For example I have a Car which is made of multiple things which have measurements the Engine - Rev counter and…
dbones
  • 4,415
  • 3
  • 36
  • 52
1
vote
1 answer

Is Information Expert from GRASP and Modell from MVC the same?

I just started to read the Applying UML and Patterns(2nd edition) book. Is one of the GRASP Patterns the Information Expert, equivalent with the Modell form MVC? Do they have the same responsibilities(Storing and retrieving information)?
Gábor Csikós
  • 2,787
  • 7
  • 31
  • 57
1
vote
1 answer

Java parameter passing following GRASP

So I have a class called Game and I need to retrieve several objects of Game from the database based on their session ID, so I have this method: public ArrayList getGamesBySession Okay, but I have to pass a parameter there so I would know…
Nikola
  • 2,093
  • 3
  • 22
  • 43
0
votes
0 answers

How to display a grasps on a pointcloud using open3d (python)

The main goal is to display the grasp received from a ur10 robot in a pointcoud using open3d. The open3d is used to depict an object as pointclouds and we want to show a grasp skeleton (the idea of grasp skeleton was taken from the s4g repository)…
0
votes
1 answer

What to do with user input when using the GRASP controller?

Let’s suppose a user wants to add a customer to the system. He fills a form with the customer information and then press a button. The click event is captured by a form object in the UI layer. Who is responsible for creating a new customer object…
Camilo
  • 108
  • 1
  • 6
0
votes
1 answer

wpf replace dictionary with events

I have a WPF application with two viewmodels(AViewModel,BViewModel). I think that main problem is that Singleton.Instance.Handle.Add("...",(m)=>{...}); cannot be removed from Model because it have High Coupling. And every time when i want to update…
A191919
  • 3,422
  • 7
  • 49
  • 93
0
votes
1 answer

Java design for Resources with ResourceTypes

I'm working on a task managing application which uses a ResourceManager to manage all the reservations of different Resources, each with their ResourceType. At the moment, there are 5 kinds of ResourceTypes and these will not change regularly, but…
SND
  • 1,552
  • 2
  • 16
  • 29
0
votes
1 answer

Grasp simulation tool

I want to do some grasp motion planning experiments, but I failed with compiling the GraspIt! using VS2010 on Win7. Is there has other grasp simulation tool like GraspIt! that can be used in Win7 and VS2010 environment? Thank you!
Nick Tian
  • 1
  • 1
0
votes
1 answer

Generalization With Inherited Classes

There are 2 different design. Second one is(below) improved version of first one. Difference is that I add 2 child class to B. So A is dependended to 2 child class now. but what will happen if B has more child classes later? Is it really best…
Yavuz
  • 1,257
  • 1
  • 16
  • 32