Tag Info

New answers tagged

1

Analyse what the current system does Analyse the interaction between the modules, the core data systems that you have to work with Analyse which parts you will be replacing/extending and which will be reused Analyse how these interact with each other. At this point you'll have a much better understanding of the task ahead. You can then architect a ...


1

This looks like a dashboard. There are a number of dashboard platforms out there that can be configured as to data sources, polling intervals, etc. Let me suggest a rough design, while challenging some of your assumptions. Assumption: You state that there is a central database that holds the results of each job. I don't see a requirement that it holds the ...


1

One method that I used in a somewhat similar position that allowed me to force integrity on the data while ensuring a speedy experience for my users was to asynchronously build the request on the server side. So, if feature A (.75 seconds to process calculations), B (2 seconds), and C (3 seconds) were all part of a single page and when I posted this page ...


0

You're describing a variety of broad components and I think you might be mixing the respective uses. In general broadstrokes, and in order, I would: Write my crawler as a standalone Python script (no need to mix in django) with Beautifulsoup. I dont like scrapy - Beautifulsoup just makes more sense to me, but that's just my preference. I would write the ...


2

Just follow the cost benefit analysis. You should avoiding re-inventing all things that Cost_To_Acquire + Maintenance_Cost + Risk is higher then the costs to build the component. Cost to Acquire can be the cost to purchase a license, pay training or just spend hours studying. The Risk is far higher for any new product: it is not fully tested, has not know ...


1

I assume this interface would contain different signatures like RegisterUser(), LoginUser(), BanUser(), ModifyUser(), ChangeAuthenticationLevel() and so on? Is this correct? No it is not. See, how there is User in each of those methods? That means it operates on user, and thus is part of the User entity. And as such, they should all be methods on User ...


0

After much googling, here's the solution that I have implemented. I'm not sure if it's the best practice for this sort of thing, but it's working in my scenario. Scroll down to the answer about implementing the NoAccessHandler : IHttpHandler http://forums.asp.net/t/1478217.aspx?Make+IIS+return+a+404+status+code+instead+of+403 Config section needed: ...


1

"Uncle Bob" Martin of Clean Code, SOLID Principles fame has outlined three principles here: The Release Reuse Equivalency Principle: The granule of reuse is the granule of release. The Common Closure Principle: Classes that change together are packaged together. The Common Reuse Principle: Classes that are used together are packaged together. The general ...


0

The practice of putting each layer of your application in a separate project is a common one in the .net world, and is viewed by some as a "best practice," but in my experience, it actually causes more problems than it solves. In particular: It makes it harder to upgrade third-party references, since you can all too easily end up with references to two ...


1

Event handling is not necessarily something internal only to the Domain instance. Sometimes, an external service handles more appropriately such events needs than an internal implementation. Text Messaging for instance, can be handled better by an XMPP or IRC services, which are interfaced as dependencies into the domain, through an common interface (i.e. ...


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 ...


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 ...



Top 50 recent answers are included