Tag Info

New answers tagged

0

No. All diagrams showing more structure than behaviour, are called together "structure diagrams". But it is merely a classification term. You can't create a structure diagram, that is not a class diagram, a component diagram, an object diagram etc... You MUST choose. The word "structure" is also in the name of Composite Structure Diagram. It shows the ...


0

An artificially intelligent computer system that can understand plain English and has already overtaken humans in terms of general knowledge. By understanding user's data and context, search through artificial intelligence (AI); engines like Google, Yahoo, Bing etc. provides better search data, context and result. From ...


0

Kaggle is an online crowdsourcing based data science competition platform. One of the case studies below http://www.kaggle.com/solutions/casestudies/nasa


0

I would have thought that you would pass the extracted data to the webservice method, which would internally have some data mapping functionality which maps the extracted data model to the destination model. You could achieve this by having source and destination data model types with appropriate properties exposed. You would have to map the source model ...


3

The best practice is to store a datetime stamp in the user's table that indicates the last pull by the browser for notifications. Any notifications created after this datetime stamp would be counted as new and unread. The database can index notifications by their created datetime stamp efficiently, and adding a flag if read shouldn't impact performance. ...


4

Most client-server applications can be installed in a "standalone setup", where the client and server machine are the same, as you wrote, but that does not make them a "standalone application". Such a system is still a client/server application, and the interprocess communication between the client application process and the database process will typically ...


2

1 Database, mirrored and clustered and partitioned as required and serving stored procedures as an API to: A couple of App servers, that talk to the the DB and provide a domain-neutral API to: Many web servers that clients interact with. This is the way to achieve scalability. You offset some processing to the tiers, so web servers handle all the ...


0

my perspective is that the purpose of an object should be to contain data. Yes, but that's not all. Standard protocol in object oriented design seems to be to include business logic in class definitions. Not protocol. It's central to Object Orientation. Data + Operations. The problems, as I see them, start when processes are bound to an ...


1

There are two points to say about this. In some cases thinking about processes as belonging to objects makes understanding the system indeed easier. The objects become responsible for their own processes. Unfortunately most object-oriented programming languages do not support multi-methods, i.e. the dispatch is only dynamic in regard to one parameter ...


0

I understand that the case of equals is just an example and that your approach is about any logic besides simple getters and setters. I see some serious problems/limitations with what you propose: That "general equals" method should reside in an utility class. That class would need to be changed every time a class is added to the system ( if you will ever ...


2

First, what you are describing sounds quite a lot like functional approach to things. Separating data and functions operating on those data is modus operandi of all functional language. Try looking at Haskell for inspiration. Second thing that I see is that you seem to lack concept of abstraction. If you have identified multiple classes, which have same or ...


0

To me, any given object has a sort of behavioral profile which is the domain and/or scope of varying functions it can participate in. The breadth and character of this behavioral profile will vary widely depending on the object. Object oriented design certainly has some relation with cognitive science, since it is concerned with how the programmer models the ...


1

I would recommend the following: Implement the data layer using an established ORM framework. My favorite is myBatis, but JPA and Hibernate are definite contenders. Wrap the data layer with a Java API that supports only business operations (not CRUD operations)- e.g. Read customer details, enrol new customer, cancel customer, place order etc. That way you ...


1

Neither. There are a few different patterns such as MVVM, MVC and many more. It depends on too many things to advise which is best. Wikipedia: Model View ViewModel Wikipedia: Model–view–controller


0

Patterns could give you a clean design for transforming your server objects into widget data. However they will not prevent you from having to define the strategy for each server object (at best you will remove duplicate code). May be you could use reflection or attributes to examine your server objects and have a generic generator for populating the ...


0

My preferred responsibility by object: Controller handles the building of the viewmodel/viewbag. Logic unrelated to the rendering of the page gets shipped off to the BL. Thus personally I would compose the viewmodel within the controller, and not create a separate layer. The layer that you would create to compose the viewmodel, what would you call it? The ...


2

For me there is no question to be answered here, you should always strive to separate out your components as much as possible. At a bare minimum, for every new project I create I do the exact following steps: 1) Create a blank visual studio solution 2) Add an MVC project to it 3) Add a class library to it called the Business layer 4) Add a class library to ...


1

The "issue" is that the process could be slow because of the step 3. You may want to use a pipeline: While step 3 is still inserting notifications, have step 4 start process notifications that are already inserted. You may have to redesign how step 3 works, e.g. by splitting up the users into batches. Would it be tolerated to make the step 4 before ...


1

I donot think that your model-driven-analysing approach is helpful until you want to remplement the old system. The benefit about model-driven-design is that you create a model and the basic code is generated from it if you have the apropriate codegenerators. For example the hybris-shop-system is implemented this way: you create a modell (an xml-file) and ...


3

Model is not normal OtherSpelling should be a separate entity named Spelling DialectApplicable should be a separate entity named Dialect TagReferentCount should be calculated CategoryReferentCount should calculated In WordTag, WordID and TagID should be separate FK besides being CPK In WordCategory, WordID and CategoryID should be separate FK besides being ...


3

is this database design fully normalised? There are many normal forms. This design is mostly 3NF, except for the three ReferenceCount columns. As such it accords with common practice in the software development industry. is it sound? Yes, given your comments to the other answer, I wouldn't be upset if one of my developers suggested this as a ...


3

The most obvious violation of normalization in your DB are the reference counting attributes - they introduce redundant information and could get "out of sync" with the real number of references. "OtherSpelling" might be a violation of normalization, or it might not, this depends indeed on the data you are going to store. I think it is debatable if, since ...


8

is it fully normalised? no. are there problems with it? possibly yes. Just one example: "otherspelling" as a field in the word table breaks both normalisation AND is a problem. What if a word has multiple alternative spellings? And oh, you shouldn't aim for complete normalisation. Complete normalisation is itself a potential problem, especially for ...


1

ASP.NET Identity comes in two flavors: You can use your own signin, which will essentially become a 'private IDP' for you. You an use external IDPs (Facebook, Twitter, LinkedIn, etc.) via ASP.NET Identity, which will handle all the complexity. I am not sure which option is "nothing for Production" in your opinion. If you can explain the concerns, the ...


0

Everything I've read says to pass parameters to a REST service in the URI, whether by template, or query string: Nobody that understands REST would recommend that. URL (uniform resource locator) is a subtype of URI (uniform resource identifier). A URL is meant to be a string representing the identity of the resource you're interacting with; a URL ...


1

I'd structure it by moving it inside the json fields if HTTP basic auth isn't an option. For example: POST https://my.server/login { "username": "user", "secret": "someSecureHashAndNotThePlaintextPasswordSeriouslyDontDoThat" }


1

As far as I understand you, there is no maintenance for those older versions to do - only for the newest version (changing of older version is forbidden, right?). That means, even if the function names become very technical after versioning, this should not be too much of a problem, since you never have to touch that code again. You need to store the ...


6

To make things as "future-proof" as possible, plan for change. That is, try your hardest not to optimize for anything other than the ability to easily change. So no normalization, no strict validation, and loose coupling galore. Use major open-source technologies. For data, closed-source systems are a major source of risk as one can't plan on which ...


3

The key here is to focus on the database (as several above have said). This needs to be coherent and completely describe the operation. It needs to grow with the operation as it changes. If it is not easy to change then it will get out of date and that is the kiss of death. The rest is relatively less important. I disagree with those above who suggest ...


3

The application need not survive 40 years without any evolution. But, because it would or should be built from scratch, it could still be 'functioning'. What is the most key thing is the 'data architecture' that allows for some stability and governance as well as extensible. We've designed data architecture and taxonomy that could almost survive the end ...


12

Answer from a front-end perspective: Don't listen to everyone saying it can't be done, because an experimental San Francisco State University web service I co-wrote in 1996 finally went to Internet heaven a couple years ago, and never needed a single browser compatibility fix in that time; that's almost half of your 40-year goal. And this JavaScript-based ...


4

OK, so I'm going to say some things here which are probably going to be pretty unpopular, but stick with me here. As this is your first project where the data and/or the application is supposed to last for 20+ years, and you are the one leading the project, you need to take a step back and think about what the odds of this project succeeding are. Because ...


1

I will not call it a "pattern" per se. It's only a convention that has stuck over the years with web developers. There is no benefit from naming a folder something else other than app, and vice versa. I can only think back to Rails when thinking of the start of this convention. I think it was a means to separate the app's source code from the cource code ...


0

On Apple's OS X, applications are shipped in a special directory where a Resources subdirectory stores all app resources, such as icons, graphic art, localization data, custom libraries, scripts... Nothing is crypted, though.


1

You can consider putting these resources up on a website (or network location), and have your application download and cache on the local device. Every time a connection is available, the application would check if the resource has been updated, and if so, download it again. This will allow single resource to be changed without affecting others. This even ...


0

If all of these names are really just code namespaces, then it's simply Company.DataAccess. If you feel especially taxonomical, you can branch it off into Company.DataAccess.Accounts, etc. Data Access is unlikely to be an outside-facing API. Rather the DataAccess namespace is there to support all of the other namespaces.


0

One major problem I see is that dependency is the wrong way. DTO should depend on your business layer, not other way around. It is much more possible to change DTO than it is to change business rules. What if you want to have different type of DTO for different services? What if you want to use the business layer directly in webservice? Constraining your ...


2

The main disadvantage of this method is that you're losing any business logic and validation that your business object might enforce over the data. What does the Person class do that the PersonDTO doesn't? Perhaps it performs validations on fields, so that setting Person.Name to an empty string is caught and an error returned. Exposing PersonDTO directly ...



Top 50 recent answers are included